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

»ùÓÚLinuxµÄSocketÍøÂç±à³ÌµÄÐÔÄÜÓÅ»¯

»ùÓÚLinuxµÄSocketÍøÂç±à³ÌµÄÐÔÄÜÓÅ»¯
2009-10-23      ǶÈëʽÔÚÏß      ÊÕ²Ø | ´òÓ¡
1 ÒýÑÔ
    Ëæ×ÅIntenetµÄÈÕÒæ·¢Õ¹ºÍÆÕ¼°£¬ÍøÂçÔÚǶÈëʽϵͳÖÐÓ¦Ó÷dz£¹ã·º£¬Ô½À´Ô½¶àµÄǶÈëʽÉ豸²ÉÓÃLinux²Ù×÷ϵͳ¡£LinuxÊÇÒ»¸öÔ´´úÂ빫¿ªµÄÃâ·Ñ²Ù×÷ϵͳ£¬¾ßÓÐÇ¿ÒÆÖ²ÐÔ£¬ËùÒÔ¶Ô»ùÓÚLinuxµÄSocketÍøÂç±à³ÌµÄÑо¿Ô½À´Ô½ÖØÒª¡£
    Socketʵ¼ÊÊÇÍøÂç´«Êä²ã¹©¸øÓ¦ÓòãµÄ±à³Ì½Ó¿Ú¡£´«Êä²ãÔòÔÚÍøÂç²ãµÄ»ù´¡ÉÏÌṩ½ø³Ìµ½½ø³ÌÎʵÄÂß¼­Í¨µÀ£¬¶øÓ¦ÓòãµÄ½ø³ÌÔòÀûÓô«Êä²ãÏòÁíһ̨Ö÷»úµÄijһ½ø³ÌͨÐÅ¡£Socket¾ÍÊÇÓ¦ÓòãÓë´«Êä²ãÖ®¼äµÄÇÅÁº¡£Èçͼ2Ëùʾ¡£
    ʹÓÃSocket±à³Ìʱ¿ÉÒÔ¿ª·¢¿Í»§»úºÍ·þÎñÆ÷Ó¦ÓóÌÐò£¬ËüÃÇ¿ÉÒÔÔÚ±¾µØÍøÂçÉϽøÐÐͨÐÅ£¬Ò²¿ÉÒÔͨ¹ýInternetÔÚÈ«Çò·¶Î§ÄÚ½øÐÐͨÐÅ¡£±àд²¢ÔËÐÐ SocketµÄ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë³ÌÐò£¬Ë«·½Í¨¹ýÌ×½Ó×Ö½¨Á¢ÁË·þÎñÁ¬½ÓÇëÇ󣬲¢ÇÒͨ¹ýһЩ·½·¨Ìá¸ßSocketµÄÐÔÄÜ¡£
3 Socket±à³Ì
3£®1 SocketÀàÐÍ
    ³£¼ûµÄSocketÓÐ3ÖÖÀàÐÍ£º
    (1)Á÷ʽSocket(SOCK_STREAM)ËüÌṩ¿É¿¿µÄͨÐÅÁ÷£¬Ê¹ÓÃÃæÏòÁ¬½ÓµÄTCPЭÒ飬´Ó¶ø±£Ö¤Êý¾Ý´«ÊäµÄÕýÈ·ÐÔºÍ˳ÐòÐÔ£º
    (2)Êý¾Ý±¨Socket(SOCK_DGRAM)Êý¾Ýͨ¹ýÏ໥¶ÀÁ¢µÄ±¨ÎĽøÐд«Ê䣬ÊÇÎÞÐòµÄ£¬²¢ÇÒ²»±£Ö¤¿É¿¿£¬ÎÞ²î´í£¬Ëü¶¨ÒåÒ»ÖÖÃæÏòÎÞÁ¬½ÓµÄ·þÎñ£¬Ê¹ÓÃÊý¾Ý±¨Ð­ÒéUDP£»
    (3)ԭʼSocket(SOCK_RAM)ËüÔÊÐíÖ±½Ó·ÃÎʵײãЭÒ飬¹¦ÄÜÇ¿´óµ«Ê¹ÓýÏΪ²»±ã£¬Ö÷ÒªÓÃÓÚһЩЭÒéµÄ¿ª·¢¡£±¾±àдµÄSocketÊôÓÚÁ÷ʽSocket¡£
3£®2 Socket±à³ÌÁ÷³Ì
    Socket±à³Ì²ÉÓÿͻ§£¯·þÎñÆ÷ģʽ¡£Òò´Ë±à³Ì·ÖΪ·þÎñÆ÷¶ËºÍ¿Í»§¶ËÁ½²¿·Ö¡£
    ÿһ¸öSocket¶¼ÓÃÒ»¸ö°ëÏà¹ØÃèÊö(ЭÒ飬±¾µØµØÖ·£¬±¾µØ¶Ë¿Ú)À´±íʾ£¬SocketÒ²ÓÐÒ»¸öÀàËÆÓÚÎļþ´ò¿ªµÄº¯Êý£¬¸Ãº¯Êý·µ»ØÒ»¸öÕûÐ͵ÄSocketÃèÊö·û£¬Ëæºó½¨Á¢Á¬½Ó£¬Êý¾Ý´«ÊäµÈ²Ù×÷¶¼Í¨¹ýSocketÀ´ÊµÏÖ¡£
    ±à³ÌÁ÷³ÌÈçÏ£º·þÎñÆ÷¶ËÊ×ÏȽ¨Á¢Socket£¬·µ»Ø¸ÃSocketµÄÃèÊö·û£ºÅäÖÃSocketµÄ¶Ë¿ÚºÍIPµØÖ·£»½¨Á¢¼àÌýð®Êý£¬¼ì²âÊÇ·ñÓпͻ§¶ËÏò·þÎñÆ÷·¢ËÍÇëÇó£¬ÈôÓÐÔò½ÓÊÕ¸ÃÇëÇ󣬽«Æä·Åµ½½ÓÊÕ¶ÓÁÐÖУº´Ó½ÓÊÕ¶ÓÁÐÖнÓÊÜÒ»¸öÇëÇó£»²¢Ïò¿Í»§¶Ë·¢ËÍÈ·ÈÏÁ¬½ÓÐÅÏ¢¡£
    ¿Í»§¶Ë½¨Á¢Ò»¸öSocket£¬·µ»Ø¸ÃSocketµÄÃèÊö·û£»ÅäÖÃSocket¶Ë¿ÚºÍIPµØÖ·£»Ïò·þÎñÆ÷·¢ËÍÁ¬½ÓÇëÇ󣬲¢½ÓÊÕ·þ


Ïà¹ØÎĵµ£º

Anatomy of the Linux slab allocator

Anatomy of the Linux slab allocator
Learn how Linux manages memory
M. Tim Jones, Consultant Engineer, Emulex Corp.
M. Tim Jones is an embedded software architect and the author of GNU/Linux Application Programming, AI Application Programming, and BSD Sockets Programming from a Multilanguage Persp ......

Linux ÖÐÈçºÎ²éѯºÍÐ¶ÔØÒѰ²×°µÄÈí¼þ

Linux ÖÐÈçºÎ²éѯºÍÐ¶ÔØÒѰ²×°µÄÈí¼þ
¡¡¡¡LinuxÈí¼þµÄ°²×°ºÍÐ¶ÔØÒ»Ö±ÊÇÀ§ÈÅÐí¶àÐÂÓû§µÄÄÑÌâ¡£ÔÚWindowsÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃÈí¼þ×Ô´øµÄ°²×°Ð¶ÔسÌÐò»òÔÚ¿ØÖÆÃæ°åÖеēÌí¼Ó/ɾ³ý³ÌÐò” À´ÊµÏÖ¡£ÓëÆäÏàÀàËÆ£¬ÔÚLinuxÏÂÓÐÒ»¸ö¹¦ÄÜÇ¿´óµÄÈí¼þ°²×°Ð¶Ôع¤¾ß£¬ÃûΪRPM¡£Ëü¿ÉÒÔÓÃÀ´½¨Á¢¡¢°²×°¡¢²éѯ¡¢¸üС¢Ð¶ÔØÈí¼þ¡£¸Ã¹¤ ......

»ùÓÚLINUX²Ù×÷ϵͳµÄ·À»ðǽ¼¼Êõ¼°Æä¾ßÌåʵÏÖ

[ÕªÒª]±¾ÎĽéÉÜÁËLINUXϳ£ÓõķÀ»ðǽ¹æÔòÅäÖÃÈí¼þIpchains£»´ÓʵÏÖÔ­Àí¡¢ÅäÖ÷½·¨ÒÔ¼°¹¦ÄÜÌØµãµÄ½Ç¶ÈÃèÊöÁËLINUX·À»ðǽµÄÈýÖÖ¹¦ÄÜ£»²¢¸ø³öÁËÒ»¸öLINUX·À»ðǽʵÀý×÷Ϊ²Î¿¼¡£
[¹Ø¼ü×Ö]LINUX·À»ðǽ¡¢ipchains ¡¢°ü¹ýÂË¡¢´úÀí¡¢IPαװ
1      ǰÑÔ
      ·À»ðǽ×÷Î ......

ǶÈëʽLinuxϵͳÖеĿìËÙÆô¶¯¼¼ÊõÑо¿

ÕªÒª
LinuxÔÚÏû·Ñµç×ÓÀà²úÆ·Öеõ½Á˹㷺ӦÓã¬ÓÉÓÚǶÈëʽÓû§¶ÔÓÚϵͳÆô¶¯ËٶȽÏΪÃô¸Ð£¬Òò´Ë¿ìËÙÆô¶¯¼¼ÊõÖð½¥³ÉΪÑо¿ºÍÓ¦ÓÃÖеÄÒ»¸öÖØµã¡£±¾ÎÄͨ¹ý¶ÔǶ
Èëʽ
LinuxµÄÆô¶¯Ê±ÐòºÍÖ÷ÒªÑÓʱÒòËØµÄ·ÖÎö£¬Õë¶ÔÐÔµØÌ½ÌÖÁËÔÚ¸÷¸öÆô¶¯½×¶Î½µµÍʱºÄµÄ¼¼Êõ£¬Öصã·ÖÎöÁËXIP¼¼ÊõºÍXIPÎļþϵͳ£¬²¢¸ø³öÁËÖ÷ÒªµÄʵÏÖ¹ý
³Ì¡£
¹Ø¼ü´ ......

Linux²Ù×÷ϵͳµÄÍ·ÎļþºÍ¿âÎļþËÑË÷·¾¶

Ò»¡¢ Í·Îļþ 1 ¡°¡±ÖеÄÍ·Îļþ£¬ÔÚÔ´Îļþµ±Ç°Ä¿Â¼²éÕÒ 2 -I ÖÐÖ¸¶¨Ä¿Â¼ 3 gccµÄ»·¾³±äÁ¿ C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH 4 ±àÒëÆ÷Ô¤Éè·¾¶¡¢ÄÚ¶¨Ä¿Â¼£º /usr/include /usr/local/include /usr/lib/gcc-lib/i386-linux/2.95.2/include /usr/lib/gcc-lib/i386-linux/2.95.2/../../../.. ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ