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*£©£¬½ø¶ø´´½¨³ö¶¯Ì¬×°È ......
°²×°Ç°×¼±¸ºÃÁ½¸ö·ÖÇøA ºÍB£¬·ÖÇø A ÓÃÀ´´æ·ÅÏÂÔØÀ´µÄ Fedora 10 µÄISO¾µÏñÎļþ£¬·ÖÇø B ÓÃÀ´°²×° Fedora 10 .¡£
×¢Ò⣺´æ·Å¾µÏñÎļþµÄ·ÖÇø±ØÐëΪ Fat32 ¸ñʽ£¬·ñÔòÎÞ·¨½øÐа²×°¡££¨±¾ÈËÒѲâÊÔ¹ý£©
½âѹ Fedora-10-i386-netinst.iso ´ËISO Îļþ£¬½«½âѹ³öÀ´µÄ isolinux ºÍ images Á½¸öÎļþ¼ÐÓë Fedora 10 µÄ ISO ¾µÏñÎÄ ......
¶ÀÌØµÄ¿ª·¢Ä£Ê½Ôì¾ÍÁ˽ñÌì°Ù¼ÒÕùÃùµÄLinux£¬¸÷¸ö·¢ÐаæµÄÃû×Ö¶¼´ú±íÄÄЩº¬ÒåÄØ£¿ÏÂÃæÊÇһЩ³£Óõİ汾£¬¸ÐÐËȤµÄÅóÓÑÒ»ÆðÀ´¿´£º 1-UbuntuÕâ»òÐíÊǽñÌì×î³£¼ûµÄÒ»¸öLinux·¢ÐаæÁË£¬UbuntuÊÇÒ»¸öÄϷǵÄÃñ×å¹ÛÄ×ÅÑÛÓÚÈËÃÇÖ®¼äµÄÖҳϺÍÁªÏµ¡£¸Ã´ÊÀ´×ÔÓÚ×æÂ³ÓïºÍ¿ÆÈøÓï¡£´óÒâÊÇ“È˵À´ýÈË”(¶ÔËûÈËÈÊ´È)¡£ÁíÒ»ÖÖ·Ò ......
Õⲿ·ÖÄÜÓñ¾×ÅÏë¼Ç¾Í¾Í¼Ç£¬Ïë²»ÆðÀ´¾Í²»¼ÇµÄÔÔò¡£Í¬ÊdzöÓÚÁ·Ï°Ó¢ÎĵÄÄ¿µÄ£¬²¿·Ö²»ÖØÒªÄÚÈݼƻ®ÓÃÓ¢ÎÄ¡£
ÊÂÏÈ˵Ã÷ÎÒ¶ÁµÄÊÇlinux1.0£¬ÕâÀï¿ÉÒÔ¼¸ºõ²»ÓÃÔõô¿´µ½lock ǰ׺£¬¶¼Êǵ¥cpu£¬Í¬Ê±ÓÐÒýµ¼³ÌÐò¡£ Ê×ÏÈ˵Ã÷cpuΪʲô»áÔËתÆðÀ´£º
1£ºcpuÉϵçºó»á´Óijһ¸öµØÖ·¿ªÊ¼Ë³ÐòÖ´ÐгÌÐò£¬µ±È»´ËʱÊÇʵģʽ£¨Èç¹ûÎÊʲôÊÇʵģ ......