Linux socket±à³Ì
ʲôÊÇSocket¡¡¡¡
Socket½Ó¿ÚÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àº¯Êý»òÀý³Ì£¬³ÌÐòÔ±¿ÉÒÔÓÃËüÃÇÀ´¿ª·¢TCP/IPÍøÂçÉϵÄÓ¦ÓóÌÐò¡£ÒªÑ§InternetÉϵÄTCP/IPÍøÂç±à³Ì£¬±ØÐëÀí½âSocket½Ó¿Ú¡£
¡¡
¡¡Socket½Ó¿ÚÉè¼ÆÕß×îÏÈÊǽ«½Ó¿Ú·ÅÔÚUnix²Ù×÷ϵͳÀïÃæµÄ¡£Èç¹ûÁ˽âUnixϵͳµÄÊäÈëºÍÊä³öµÄ»°£¬¾ÍºÜÈÝÒ×Á˽âSocketÁË¡£
ÍøÂçµÄSocketÊý¾Ý´«ÊäÊÇÒ»ÖÖÌØÊâµÄI/O£¬SocketÒ²ÊÇÒ»ÖÖÎļþÃèÊö·û¡£SocketÒ²¾ßÓÐÒ»¸öÀàËÆÓÚ´ò¿ªÎļþµÄº¯Êýµ÷ÓÃSocket()£¬¸Ãº¯Êý·µ»ØÒ»¸öÕûÐ͵ÄSocketÃèÊö·û£¬ËæºóµÄÁ¬½Ó½¨Á¢¡¢Êý¾Ý´«ÊäµÈ²Ù×÷¶¼ÊÇͨ¹ý¸ÃSocketʵÏֵġ£³£ÓõÄSocketÀàÐÍÓÐÁ½ÖÖ£ºÁ÷ʽSocket£¨SOCK_STREAM£©ºÍÊý¾Ý±¨Ê½Socket£¨SOCK_DGRAM£©¡£Á÷ʽÊÇÒ»ÖÖÃæÏòÁ¬½ÓµÄSocket£¬Õë¶ÔÓÚÃæÏòÁ¬½ÓµÄTCP·þÎñÓ¦Óã»Êý¾Ý±¨Ê½SocketÊÇÒ»ÖÖÎÞÁ¬½ÓµÄSocket£¬¶ÔÓ¦ÓÚÎÞÁ¬½ÓµÄUDP·þÎñÓ¦Óá£Socket½¨Á¢ÎªÁ˽¨Á¢Socket£¬³ÌÐò¿ÉÒÔµ÷ÓÃSocketº¯Êý£¬¸Ãº¯Êý·µ»ØÒ»¸öÀàËÆÓÚÎļþÃèÊö·ûµÄ¾ä±ú¡£socketº¯ÊýÔÐÍΪ£º ¡¡
¡¡ int socket(int domain, int type, int protocol); ¡¡
¡¡ domainÖ¸Ã÷ËùʹÓõÄÐÒé×壬ͨ³£ÎªPF_INET£¬±íʾ»¥ÁªÍøÐÒé×壨TCP/IPÐÒé×壩£»
type²ÎÊýÖ¸¶¨socketµÄÀàÐÍ£º SOCK_STREAM»òSOCK_DGRAM£¬Socket½Ó¿Ú»¹¶¨ÒåÁËÔʼSocket£¨ SOCK_RAW£©£¬ÔÊÐí³ÌÐòʹÓõͲãÐÒ飻
protocolͨ³£¸³Öµ"0"¡£
Socket()µ÷Ó÷µ»ØÒ»¸öÕûÐÍsocketÃèÊö·û£¬Äã¿ÉÒÔÔÚºóÃæµÄµ÷ÓÃʹÓÃËü¡£
¡¡SocketÃèÊö·ûÊÇÒ»¸öÖ¸ÏòÄÚ²¿Êý¾Ý½á¹¹µÄÖ¸Õ룬ËüÖ¸ÏòÃèÊö·û±íÈë¿Ú¡£µ÷ÓÃSocketº¯Êýʱ£¬socketÖ´ÐÐÌ彫½¨Á¢Ò»¸öSocket£¬Êµ¼ÊÉÏ"½¨Á¢Ò»¸öSocket"Òâζ×ÅΪһ¸öSocketÊý¾Ý½á¹¹·ÖÅä´æ´¢¿Õ¼ä¡£SocketÖ´ÐÐÌåΪÄã¹ÜÀíÃèÊö·û±í?
¡¡¡¡Á½¸öÍøÂç³ÌÐòÖ®¼äµÄÒ»¸öÍøÂçÁ¬½Ó°üÀ¨ÎåÖÖÐÅÏ¢£ºÍ¨ÐÅÐÒé¡¢±¾µØÐÒ鵨ַ¡¢±¾µØÖ÷»ú
¶Ë¿Ú¡¢Ô¶¶ËÖ÷»úµØÖ·ºÍÔ¶¶ËÐÒé¶Ë¿Ú¡£SocketÊý¾Ý ½á¹¹Öаüº¬ÕâÎåÖÖÐÅÏ¢¡£
SocketÅäÖÃ
¡¡
¡¡Í¨¹ýsocketµ÷Ó÷µ»ØÒ»¸ösocketÃèÊö·ûºó£¬ÔÚʹÓÃsocket½øÐÐÍøÂç´«ÊäÒÔǰ£¬±ØÐëÅäÖøÃsocket¡£ÃæÏòÁ¬½ÓµÄsocket¿Í»§¶Ëͨ¹ýµ÷ÓÃConnectº¯ÊýÔÚsocketÊý¾Ý½á¹¹Öб£´æ±¾µØºÍÔ¶¶ËÐÅÏ¢¡£ÎÞÁ¬½ÓsocketµÄ¿Í»§¶ËºÍ·þÎñ¶ËÒÔ¼°ÃæÏòÁ¬½ÓsocketµÄ·þÎñ¶Ëͨ¹ýµ÷ÓÃbindº¯ÊýÀ´ÅäÖñ¾µØÐÅÏ¢¡£
Bindº¯Êý½«socketÓë±¾»úÉϵÄÒ»¸ö¶Ë¿ÚÏà¹ØÁª£¬ËæºóÄã¾Í¿ÉÒÔÔڸö˿ڼàÌý·þÎñÇëÇó¡£Bindº¯ÊýÔÐÍΪ£º
¡¡¡¡ int bind(int sockfd,struct sockaddr *my_addr, int
Ïà¹ØÎĵµ£º
ÄãÊÇ·ñÏë½øÈëǶÈëʽ¸ßнÁìÓò£¬È´¸Ð¾õÎÞ´ÓÏÂÊÖ£¿
ÄãÊÇ·ñÔÚ¿´Êé¡¢²é×ÊÁÏ¡¢ÂÛ̳ÌáÎÊÖлºÂý¶ø³ÔÁ¦µÄǰÐУ¿
ʱ¼ä±ãÊdzɱ¾£¡Ñ§Ï°µÄ·ÉÏ£¬ÎÒÃǸüÐèҪר¼ÒϵͳµÄÖ¸Òý£¬ÕâÑù»áʰ빦±¶£¡
»ªÇåÔ¶¼û—ǶÈëʽLinuxÈëÃÅʵսÃâ·ÑÌåÑéÈÕ£¬Ò»ÌìµÄʱ¼ä£¬½â¾öÄúµÄ·³ÄÕ£¬¾ø¶Ô³¬ÖµµÄ»Ø±¨£¡
ÓÅÊÆ/ÌØÉ«£º
¡ñ ÄÚÈÝ£¬´«ÊÚ×îϵͳ£¬×îʵÓÃµÄ ......
ÕâÁ½ÌìÅöµ½Ò»¸öСÎÊÌ⿨ÁËÎÒÀϰëÌì……¾ÍÊÇLINUXÏÂPHP³ÌÐòÓëÆäËû³ÌÐòͨÐÅ¡£
ÎÒÃÇÐèҪʵÏÖÓû§ÔÚWEBÒ³ÃæÉϽøÐвÙ×÷ʱ¿ÉÒÔÆôÓÃÎÒÃÇÔÚ·þÎñÆ÷¶ËµÄºǫ́³ÌÐò£¨ÓÃC¡¢C++±àд£©¡£
֮ǰÔÚwindowsÏ£¬ÒѾʹÓÃÃüÃû¹ÜµÀʵÏÖ£¨Çë¼ûÎÒ֮ǰµÄ²©ÎÄhttp://blog.csdn.net/rcfalcon/archive/2010/02/09/5303142.aspx£©£¬Õâ´Î½«· ......
ʲôÊÇϵͳµ÷ÓÃ
¹ËÃû˼Ò⣬ϵͳµ÷ÓÃ˵µÄÊDzÙ×÷ϵͳÌṩ¸øÓû§³ÌÐòµ÷ÓõÄÒ»×é“ÌØÊ┽ӿڡ£Óû§³ÌÐò¿ÉÒÔͨ¹ýÕâ×é“ÌØÊ┽ӿÚÀ´»ñµÃ²Ù×÷ϵͳÄÚºËÌṩµÄ·þÎñ£¬±ÈÈçÓû§¿ÉÒÔͨ¹ýÎļþϵͳÏà¹ØµÄµ÷ÓÃÇëÇóϵͳ´ò¿ªÎļþ¡¢¹Ø±ÕÎļþ»ò¶ÁдÎļþ£¬¿ÉÒÔͨ¹ýʱÖÓÏà¹ØµÄϵͳµ÷ÓûñµÃϵͳʱ¼ä»òÉèÖÃÏµÍ ......
ÄÚºËÔ´ÂëÊ÷µÄĿ¼Ï¶¼ÓÐÁ½¸öÎĵµKconfig £¨2.4°æ±¾ÊÇConfig.in£©ºÍMakefile¡£·Ö²¼µ½¸÷Ŀ¼µÄKconfig¹¹³ÉÁËÒ»¸ö·Ö²¼Ê½µÄÄÚºËÅäÖÃÊý¾Ý¿â£¬Ã¿¸öKconfig·Ö±ðÃèÊöÁËËùÊôĿ¼ԴÎĵµÏà¹ØµÄÄÚºËÅäÖò˵¥¡£ÔÚÄÚºËÅäÖÃmake menuconfigʱ£¬´ÓKconfigÖжÁ³ö²Ëµ¥£¬Óû§Ñ¡Ôñºó±£´æµ½.configµÄÄÚºËÅäÖÃÎĵµÖС£ÔÚÄں˱àÒëʱ£¬Ö÷Makefileµ ......