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

LinuxÍøÂçЭÒéÕ»(Ò»)——SocketÈëÃÅ(1)

1¡¢TCP/IP²Î¿¼Ä£ÐÍ
ΪÁËʵÏÖ¸÷ÖÖÍøÂçµÄ»¥Á¬£¬¹ú¼Ê±ê×¼»¯×éÖ¯(ISO)ÖÆ¶¨ÁË¿ª·Åʽϵͳ»¥Á¬(OSI)²Î¿¼Ä£ÐÍ¡£¾¡¹ÜOSIµÄÌåϵ½á¹¹´ÓÀíÂÛÉϽ²ÊDZȽÏÍêÕûµÄ£¬µ«Êµ¼ÊÉÏ£¬ÍêÈ«·ûºÏOSI¸÷²ãЭÒéµÄÉÌÓòúÆ·È´ºÜÉÙ½øÈëÊг¡¡£¶øÊ¹ÓÃTCP/IP ЭÒéµÄ²úÆ·È´´óÁ¿Ó¿ÈëÊг¡£¬¼¸ºõËùÓеŤ×÷Õ¾¶¼ÅäÓÐTCP/IPЭÒ飬ʹµÃTCP/IP ³ÉΪ¼ÆËã»úÍøÂçµÄʵ¼ÊµÄ¹ú¼Ê±ê×¼¡£
2¡¢Ì×½Ó×Ö(socket)
socketÊDzÙ×÷ϵͳµÄÖØÒª×é³É²¿·ÖÖ®Ò»£¬ËüÊÇÍøÂçÓ¦ÓóÌÐòµÄ»ù´¡¡£´Ó²ã´ÎÉÏÀ´Ëµ£¬ËüλÓÚÓ¦Óò㣬ÊDzÙ×÷ϵͳΪӦÓóÌÐòÔ±ÌṩµÄAPI£¬Í¨¹ýËü£¬Ó¦ÓóÌÐò¿ÉÒÔ·ÃÎÊ´«Êä²ãЭÒé¡£
1¡¢socket λÓÚ´«Êä²ãЭÒéÖ®ÉÏ£¬ÆÁ±ÎÁ˲»Í¬ÍøÂçЭÒéÖ®¼äµÄ²îÒ죻
2¡¢socketÊÇÍøÂç±à³ÌµÄÈë¿Ú£¬ËüÌṩÁË´óÁ¿µÄϵͳµ÷Ó㬹¹³ÉÁËÍøÂç³ÌÐòµÄÖ÷Ì壻
3¡¢ÔÚLinuxϵͳÖУ¬socketÊôÓÚÎļþϵͳµÄÒ»²¿·Ö£¬ÍøÂçͨÐÅ¿ÉÒÔ±»¿´×÷ÊǶÔÎļþµÄ¶ÁÈ¡£¬Ê¹µÃÎÒÃǶÔÍøÂçµÄ¿ØÖƺͶÔÎļþµÄ¿ØÖÆÒ»Ñù·½±ã¡£
2.1¡¢Ì×½Ó×ÖµØÖ·
ÔÚ´«Êä²ãÉÏ£¬Í¨ÐŶ˵ã¿ÉÓÉInternetÉÏ3¸ö²ÎÊýÃèÊö£ºËùÓõÄЭÒé¡¢IPµØÖ·ºÍ¶Ë¿ÚºÅ¡£ÕâЩÄÚÈÝÓÉsockaddrÃèÊö£º
//usr/include/sys/socket.h
typedef unsigned short    sa_family_t;
//ͨÓÃsocketµØÖ·
struct sockaddr {
    sa_family_t    sa_family;    /* address family, AF_xxx,ЭÒé´Ø*/
    char        sa_data[14];    /* 14 bytes of protocol address    */
};
//usr/include/netinet/in.h
//INETµØÖ·´ØµÄsocketµØÖ·
struct in_addr {
                    __u32 s_addr;
};
struct sockaddr_in   {
   sa_family_t            sin_family;      /* Address family: AF_INET */
   unsigned short int     sin_port;        /* Port number,¶Ë¿Ú*/
 


Ïà¹ØÎĵµ£º

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ÍøÂçÅäÖÃ

Íø¿¨µÄÉèÖÃ
¼ûÒÔǰµÄÎÄÕÂ
Ö÷»úÃûµÄÉèÖÃ:
/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=a100                  ----->Ö÷»úÃû
smbÊÇSamba µÄÖ÷ÒªÆô¶¯·þÎñÆ÷£¬ÈÃÆäËü»úÆ÷ÄÜÖªµÀ´Ë»úÆ÷¹²ÏíÁËʲô£»
......

LinuxÎļþϵͳµÄ×éÖ¯½á¹¹·ÖÎö

ÎļþϵͳµÄ×éÖ¯½á¹¹·ÖÎö£¬ÎÒÃÇÄÜ·ÖÎöÊ²Ã´ÄØ£¿Ò²¾ÍÊǵ±ÎÒÃÇÁÐ/Ŀ¼ʱ£¬Ëù¿´µ½µÄ/usr¡¢/etc ... ... /var
µÈĿ¼ÊÇ×öʲôÓõģ¬ÕâЩĿ¼ÊDz»ÊÇÓÐÐ©ÌØ¶¨µÄÓÃ;¡£ÎÞÂÛÄĸöÄĸö°æ±¾µÄLinuxϵͳ£¬¶¼ÓÐÕâЩĿ¼£¬ÕâЩĿ¼Ӧ¸ÃÊDZê×¼µÄ¡£µ±È»¸÷¸öLinux·¢Ðаæ
±¾Ò²»á´æÔÚһЩССµÄ²îÒ죬µ«×ÜÌåÀ´Ëµ£¬»¹ÊÇ´óÌå²î²»¶à¡£
Linux·¢Ðа ......

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ºÅ