Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linuxÏÂsocketͨÐÅ֮ͨÐÅÄ£ÐÍ

µ¼¶Á£º
¡¡¡¡1£®Socket¼ò½é
¡¡¡¡SocketÊÇTCP/IPÍøÂçµÄAPI£¬¿ÉÒÔÓÃËüÀ´¿ª·¢ÍøÂçÓ¦ÓóÌÐò£¬SocketÊý¾Ý´«ÊäÊÇÒ»ÖÖÌØÊâµÄI/O£¬SocketÒ²ÊÇÒ»ÖÖÎļþÃèÊö·û
¡¡¡¡2£®SocketµÄ½¨Á¢
¡¡¡¡int socket(int domain£¬ int type£¬ int protocol)
¡¡¡¡º¯Êý·µ»Ø£ºÒ»¸öÕûÐ͵ÄSocketÃèÊö·û£¬¿ÉÒÔÔÚºóÃæµ÷ÓÃËü¡£
¡¡¡¡²ÎÊý˵Ã÷£º
¡¡¡¡int domain£ºÖ¸Ã÷ËùʹÓõÄЭÒé×壬 ͨ³£ÊÇPF_INET£¬ ±íÊ¾ÍøÂç(TCP/IP)ЭÒé×å˵Ã÷ÎÒÃÇÍøÂç³ÌÐòËùÔÚµÄÖ÷»ú²ÉÓõÄͨѶЭ×å(AF_UNIXºÍAF_INETµÈ).
¡¡¡¡AF_UNIX£ºÖ»Äܹ»ÓÃÓÚµ¥Ò»µÄUnixϵͳ½ø³Ì¼äͨÐÅ£¬
¡¡¡¡AF_INET£ºÊÇÕë¶ÔInternetµÄ£¬Òò¶ø¿ÉÒÔÔÊÐíÔÚÔ¶³ÌÖ÷»úÖ®¼äͨÐÅ£¨µ±ÎÒÃÇman socketʱ·¢ÏÖdomain¿ÉÑ¡ÏîÊÇ PF_*¶ø²»ÊÇAF_*£¬ÒòΪglibcÊÇposixµÄʵÏÖËùÒÔÓÃPF´úÌæÁËAF£¬²»¹ýÎÒÃǶ¼¿ÉÒÔʹÓõģ©
¡¡¡¡int type£ºÖ¸¶¨socketµÄÀàÐÍ£¬ ͨ³£ÊÇ SOCK_STREAM Á÷ʽSocketÕâÑù»áÌṩ°´Ë³ÐòµÄ£¬¿É¿¿£¬Ë«Ïò£¬ÃæÏòÁ¬½ÓµÄ±ÈÌØÁ÷ºÍSOCK_DGRAMÊý¾Ý±¨Ê½SocketÕâÑùÖ»»áÌṩ¶¨³¤µÄ£¬²»¿É¿¿£¬ÎÞÁ¬½ÓµÄͨÐÅ
¡¡¡¡int prottocol£ºÍ¨³£Îª0 ÓÉÓÚÎÒÃÇÖ¸¶¨ÁËtype£¬ËùÒÔÕâ¸öµØ·½ÎÒÃÇÒ»°ãÖ»ÒªÓÃ0À´´úÌæ¾Í¿ÉÒÔÁË
¡¡¡¡Ó¦ÓÃʾÀý£ºint sockfd = socket(PF_INET£¬ SOCK_STREAM£¬ 0);
¡¡¡¡
¡¡¡¡3£®SocketÅäÖÃ
¡¡¡¡SocketÃèÊö·ûÊÇÒ»¸öÖ¸ÏòÄÚ²¿Êý¾Ý½á¹¹µÄÖ¸Õ룬ËüÖ¸ÏòÃèÊö·û±íÈë¿Ú¡£µ÷ÓÃSocketº¯Êýʱ£¬socketÖ´ÐÐÌ彫½¨Á¢Ò»¸öSocket£¬Êµ¼ÊÉÏ"½¨Á¢Ò»¸öSocket"Òâζ×ÅΪһ¸öSocketÊý¾Ý½á¹¹·ÖÅä´æ´¢¿Õ¼ä¡£SocketÖ´ÐÐÌåΪÄã¹ÜÀíÃèÊö·û±í¡£
¡¡¡¡Á½¸öÍøÂç³ÌÐòÖ®¼äµÄÒ»¸öÍøÂçÁ¬½Ó°üÀ¨ÎåÖÖÐÅÏ¢£ºÍ¨ÐÅЭÒé¡¢±¾µØÐ­Ò鵨ַ¡¢±¾µØÖ÷»ú¶Ë¿Ú¡¢Ô¶¶ËÖ÷»úµØÖ·ºÍÔ¶¶ËЭÒé¶Ë¿Ú¡£SocketÊý¾Ý½á¹¹Öаüº¬ÕâÎåÖÖÐÅÏ¢¡£
¡¡¡¡Í¨¹ýsocketµ÷Ó÷µ»ØÒ»¸ösocketÃèÊö·ûºó£¬ÔÚʹÓÃsocket½øÐÐÍøÂç´«ÊäÒÔǰ£¬±ØÐëÅäÖøÃsocket£º
¡¡¡¡1) ÃæÏòÁ¬½ÓµÄsocket¿Í»§¶Ëͨ¹ýµ÷ÓÃConnectº¯ÊýÔÚsocketÊý¾Ý½á¹¹Öб£´æ±¾µØºÍÔ¶¶ËÐÅÏ¢¡£
¡¡¡¡2) ÎÞÁ¬½ÓsocketµÄ¿Í»§¶ËºÍ·þÎñ¶ËÒÔ¼°ÃæÏòÁ¬½ÓsocketµÄ·þÎñ¶Ëͨ¹ýµ÷ÓÃbindº¯ÊýÀ´ÅäÖñ¾µØÐÅÏ¢¡£
¡¡¡¡
¡¡¡¡4£®Bind£¨£©
¡¡¡¡Bindº¯Êý½«socketÓë±¾»úÉϵÄÒ»¸ö¶Ë¿ÚÏà¹ØÁª£¬ËæºóÄã¾Í¿ÉÒÔÔڸö˿ڼàÌý·þÎñÇëÇó¡£
¡¡¡¡º¯ÊýÔ­ÐÍ£ºint bind(int sockfd£¬ struct sockaddr *my_addr£¬ int addrlen);
¡¡¡¡º¯Êý·µ»Ø£º³É¹¦±»µ÷ÓÃʱ·µ»Ø0£»³öÏÖ´íÎóʱ·µ»Ø"-1"²¢½«errnoÖÃΪÏàÓ¦µÄ´íÎóºÅ¡£
¡¡¡¡²ÎÊý˵Ã÷£º
¡¡¡¡Sockfd£ºÊǵ÷ÓÃsocketº¯Êý·µ»ØµÄsocketÃèÊö·û£¬


Ïà¹ØÎĵµ£º

linuxÉ豸Çý¶¯Ñ§Ï°ÐèÒªÕÆÎյĻù´¡¼¼Êõ

      linuxÉ豸Çý¶¯µÄѧϰÊÇÒ»ÏîºÆ´óµÄ¹¤³Ì,¶ÁÕßÐèÒªÊ×ÏÈÕÆÎÕÒÔÏ»ù´¡:
 
1.Á¼ºÃµÄÓ²¼þ»ù´¡,¶®µÃSRAM,FLASH,SDRAM,Ó²Å̵ĶÁд·½Ê½,UART,I2C,USBµÈÉ豸½Ó    ¿Ú,ÂÖѯ,ÖжÏ,DMAµÄÔ­Àí,PCI×ÜÏߵŤ×÷·½Ê½ÒÔ¼°CPUµÄÄÚ´æ¹ÜÀíµ¥Ôª(MMU)µÈ.
 
2.Á¼ºÃµÄCÓïÑÔ»ù´¡,ÄÜÁé»îµØÔ ......

Linux 2.6.19.x Äں˱àÒëÅäÖÃÑ¡Ïî¼ò½é

°æÈ¨ÉùÃ÷
±¾ÎÄ×÷ÕßÊÇһλ×ÔÓÉÈí¼þ°®ºÃÕߣ¬ËùÒÔ±¾ÎÄËäÈ»²»ÊÇÈí¼þ£¬µ«ÊDZ¾×Å GPL µÄ¾«Éñ·¢²¼¡£ÈκÎÈ˶¼¿ÉÒÔ×ÔÓÉʹÓá¢×ªÔØ¡¢¸´ÖƺÍÔÙ·Ö·¢£¬µ«±ØÐë±£Áô×÷ÕßÊðÃû£¬Ò಻µÃ¶ÔÉùÃ÷ÖеÄÈκÎÌõ¿î×÷ÈκÎÐÎʽµÄÐ޸ģ¬Ò²²»µÃ¸½¼ÓÈÎºÎÆäËüÌõ¼þ¡£Äú¿ÉÒÔ×ÔÓÉÁ´½Ó¡¢ÏÂÔØ¡¢´«²¥´ËÎĵµ£¬µ«Ç°ÌáÊDZØÐ뱣֤ȫÎÄÍêÕû×ªÔØ£¬°üÀ¨ÍêÕûµÄ°æÈ¨ÐÅÏ¢ºÍ× ......

linux¹ÒÔØÐÂÓ²ÅÌ

fdisk -l ÃüÁî¿´µ±Ç°´ÅÅÌÐÅÏ¢
[root@roswell root]# fdisk /dev/sdb
Command (m for help): m  --´òÓ¡¸ÃÃüÁîµÄ²ÎÊý¹¦ÄÜÁбí
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibil ......

Linux µÄ¶àÏ̱߳à³ÌµÄ¸ßЧ¿ª·¢¾­Ñé

2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾­Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ ......

linuxϵÄdeamon½ø³Ì

Éè¼ÆÒ»¸ölinuxϵÄdeamon½ø³Ì£¬¹Ø¼üÖ»Óм¸¸ö£º
1.forkÁ½´Î¡£
2.forkµÚÒ»´ÎºÍµÚ¶þ´ÎÖ®¼ä³ÉΪ½ø³Ì×éÍ·¡£
3.¸Ä±ä¹¤×÷Ŀ¼¡£
4.ºöÂÔÐźš£
5.ÉèÖöÁдÑÚÂë¡£
Ò»ÏÂÊÇÒ»¸ö´ÓÍøÂçËѼ¯µ½µÄÀý³Ì£¬·Ç³£ºÃµÄÑÝʾÁËÉÏÊöÒªµã£¬´æ´Ë±¸Íü¡£
#include
#include
#include
#include
void main(int argc, char ** argv)
{
tim ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ