linux socket±à³ÌÏà¹ØÖªÊ¶µÄ×ܽá
1£ºsocket±à³ÌÖвÉÓõÄÐÒé×åÖ÷ÒªÓÐÁ½ÖÖ
£º
1>£ºÍøÂçÐÒé×å(ÐÎʽÈ磺AF_INET, PF_INETµÈ)
2>£º±¾µØunixÓò¸ñʽµÄÐÒé×å(ÐÎʽÈ磺AF_LOCAL, AF_UNIXµÈ)
×¢£ºÐÒé×åµÄÑ¡ÔñÌåÏÖÔÚ int socket(int domain, inst type, int protocol)º¯ÊýµÄµÚÒ»¸ö²ÎÊý´¦¡£
2£ºÕâÁ½ÖÖÐÒé×åµÄÇø±ð£º
1>£º±¾µØunixÓò¸ñʽµÄÐÒé×壬ֻÄÜÓÃÓÚ±¾»ú(¼´£¬¿Í»§¶ËºÍ·þÎñÆ÷¶ËÔÚͬһ̨»úÆ÷)£»¶øÍøÂçÐÒé×å
²»½ö¿ÉÒÔÓÃÓÚ±¾»úÒ²¿ÉÒÔ¿çÍøÂç
2>£º±¾»úÉϵĿͻ§¶ËºÍ·þÎñ¶ËÖ®¼äµÄͨѶ²ÉÓñ¾µØunixÓò¸ñʽµÄÐÒé×åÒª±È²ÉÓÃÍøÂçÐÒé×åµÄËÙ¶È¿ì
3>£º±¾µØunixÓò¸ñʽµÄÐÒé×åÓõÄÒ²±È½Ï¹ã·º£¬ÈçһЩ·þÎñÆ÷µÄÄ£¿é¼äµÄͨѶ(mysql)£¬ ÔÙ±ÈÈç¹ÜµÀµÈ¡£
3£ºsocketͨѶµÄ¼¸¸ö¹Ø¼üµÄº¯Êý
1>£ºsendº¯Êý£¬ÔÐÍ£¬ int send(SOCKET s, const char FAR *buf , int len, inf flags)¡£¸Ãº¯ÊýµÄÏêϸ½éÉÜ£º
²ÎÊýs£¬Ì×½Ó×ÖÃèÊö·û£» ²ÎÊýbuf£¬´æ·Å·¢ËÍÊý¾ÝµÄ»º³åÇø£» ²ÎÊýlen, ·¢ËÍÊý¾ÝµÄ³¤¶È£» ²ÎÊýflags£¬±êÖ¾£¬Ò»°ãΪ0£»
¸Ãº¯ÊýµÄÖ´ÐÐÁ÷³Ì(ͬ²½socket
)£º
(1)£ºÊ×ÏȱȽÏlenÓëÌ×½Ó×ÖsµÄ·¢ËÍ»º³åÇø³¤¶ÈµÄ´óС(len1)£¬Èç¹ûlen´óÓÚlen1£¬ÄÇô¸Ãº¯ÊýÁ¢¼´·µ»ØSOCKET_ERROR
(2)£ºÈç¹ûlen < len1, È»ºósend¼ì²éÐÒéÊÇ·ñÊÇÔÚ·¢ËÍsµÄ·¢ËÍ»º³åÇøÀïµÄÊý¾Ý£¬Èç¹ûÊǾ͵ȴýÐÒ齫Êý¾Ý·¢ËÍÍ꣬Èç¹ûÐÒ黹ûÓпªÊ¼·¢ËÍsµÄ·¢ËÍ»º³åÇøÀïµÄÊý¾Ý»òÕßsµÄ·¢ËÍ»º³åÇøÊǿյģ¬ÄÇôsend¾Í±È½ÏsµÄ·¢ËÍ»º³åÇøµÄÊ£Óà¿Õ¼ä(len2)ºÍlenµÄ´óС
(3)£ºÈç¹ûlen > len2, ÄÇôsend¾ÍÒ»ÖµµÈ´ýÐÒ齫sµÄ·¢ËÍ»º³åÇøÖеÄÊý¾Ý·¢ËÍÍê
(4)£ºÈç¹ûlen < len2, ÄÇô¾Í½«´ý·¢Ë͵ÄÊý¾Ýcopyµ½sµÄ·¢ËÍ»º³åÇøÀï
×¢£ºsendº¯ÊýÖ»Êǽ«´ý·¢Ë͵ÄÊý¾Ýcopyµ½Ì×½Ó×ÖsµÄ·¢ËÍ»º³åÇøÀïÃæ£¬¶ø¸ºÔð½«Êý¾Ý´«Ë͵½Í¨Ñ¶µÄÁíÒ»¶ËµÄÊÇÐÒé
¡£
(5)£ºsendº¯ÊýµÄ·µ»ØÇé¿ö£ºÈç¹ûlen > len1 Ö±½Ó·µ»ØSOCKET_ERROR; send½«Êý¾Ý´«Ë͵½Ì×½Ó×ÖsµÄ·¢ËÍ»º³åÇøÀ¶øÐÒéÔÚ´«ËÍÊý¾Ýʱ£¬³öÏÖÍøÂç¹ÊÕÏ£¬Ò²·µ»ØSOCKET_ERROR
2>£ºrecvº¯Êý(ͬ²½socket)
£¬ÔÐÍ£¬ int recv(SOCKET s, char FAR *buf, int len, int fags)
(1)£º²ÎÊý˵Ã÷£
Ïà¹ØÎĵµ£º
Ò»¡¢ ldconfig£º
¡¡¡¡LinuxϵͳÖУ¬ÎªÁËÈö¯Ì¬Á´½Ó¿âΪϵͳËù¹²Ïí£¬»¹ÐèÔËÐж¯Ì¬Á´½Ó¿âµÄ¹ÜÀíÃüÁî——ldconfig.
¡¡¡¡1. ldconfigÃüÁîµÄÓÃ;£ºÖ÷ÒªÊÇÔÚĬÈÏËÑѰĿ¼£¨/libºÍ/usr/lib£©ÒÔ¼°¶¯Ì¬¿âÅäÖÃÎļþ/etc/ld.so.confÄÚËùÁеÄĿ¼Ï£¬ËÑË÷³ö¿É¹²ÏíµÄ¶¯Ì¬Á´½Ó¿â£¨¸ñʽÈçǰ½éÉÜ£¬lib*.so*£©£¬½ø¶ø´´½¨³ö¶¯Ì¬×°È ......
ÏȽéÉܼ¸¸ö»ù±¾¸ÅÄ
ºǫ́½ø³Ì£ºÔÚºǫ́ÔËÐеÄÎÞÐëÓëÓû§½»»¥µÄ³ÌÐò¡£ÔÚ¶àÈÎÎñ²Ù×÷ϵͳÉÏÔËÐжà¸öºǫ́½ø³Ì£¬ÓÐЩºǫ́½ø³Ì£¨ÀýÈçÊØ»¤³ÌÐò£©´ÓÀ´¶¼²»ÐèÒªÓû§ÊäÈ룬ÆäËüһЩ½ø³ÌÖ»ÊÇÔÚÓû§Ã¦ÓÚĿǰÔËÐÐÓÚǰ̨µÄ³ÌÐòʱ²ÅÁÙʱ´¦ÓÚºǫ́¡£
ÊØ»¤½ø³ÌÊÇÒ»ÖÖºǫ́½ø³Ì¡£crond½ø³ÌÊÇÖÚ¶àÊØ»¤½ø³ÌÖеÄÒ»ÖÖ£¬¿´¿´cronÕâ¸öµ¥´ÊÔÚ×ÖµäÀïà ......
¶ÀÌØµÄ¿ª·¢Ä£Ê½Ôì¾ÍÁ˽ñÌì°Ù¼ÒÕùÃùµÄLinux£¬¸÷¸ö·¢ÐаæµÄÃû×Ö¶¼´ú±íÄÄЩº¬ÒåÄØ£¿ÏÂÃæÊÇһЩ³£Óõİ汾£¬¸ÐÐËȤµÄÅóÓÑÒ»ÆðÀ´¿´£º 1-UbuntuÕâ»òÐíÊǽñÌì×î³£¼ûµÄÒ»¸öLinux·¢ÐаæÁË£¬UbuntuÊÇÒ»¸öÄϷǵÄÃñ×å¹ÛÄ×ÅÑÛÓÚÈËÃÇÖ®¼äµÄÖҳϺÍÁªÏµ¡£¸Ã´ÊÀ´×ÔÓÚ×æÂ³ÓïºÍ¿ÆÈøÓï¡£´óÒâÊÇ“È˵À´ýÈË”(¶ÔËûÈËÈÊ´È)¡£ÁíÒ»ÖÖ·Ò ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
ÎÒÃÇ˵¾ä´ó°×»°£¬Ëùν“ÓÎ˵Õß”£¨
lobbist
£¬
lobber
£©¾ÍÊǹŴúµÄ“說¿Í”£¬Ö»ÊÇÈËÃÇÆ½ÈÕ²»ºÃÒâ˼Õâô˵¶øÒÑ¡£µ±½ñ£¬¸ÊÔ¸×öÒ»Ãû
Linux
ÓÎ˵ÕßÊǺܹâÈÙµÄÊÂÇé¡£´Ë»°µ±Õ棿 ......
6.7.1 LinuxʹÓõĻº´æ
²»¹ÜÔÚÓ²¼þÉè¼Æ»¹ÊÇÈí¼þÉè¼ÆÖУ¬¸ßËÙ»º´æÊÇ»ñµÃ¸ßÐÔÄܵij£ÓÃÊֶΡ£Linux ʹÓÃÁ˶àÖÖºÍÄÚ´æ¹ÜÀíÏà¹ØµÄ¸ßËÙ»º´æ¡£
1£® »º³åÇø¸ßËÙ»º´æ£º
»º³åÇø¸ßËÙ»º´æÖаüº¬ÁËÓÉ¿éÉ豸ʹÓõÄÊý¾Ý»º³åÇø¡£ÕâЩ»º³åÇøÖаüº¬ÁË´ÓÉ豸ÖжÁÈ¡µÄÊý¾Ý¿é»òдÈëÉ豸µÄÊý¾Ý¿é¡£»º³åÇø¸ßËÙ»º´æÓÉÉ豸±êʶºÅºÍ¿é±êºÅË÷Òý£¬Ò ......