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
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Èí¼þµÄ°²×°ºÍÐ¶ÔØÒ»Ö±ÊÇÀ§ÈÅÐí¶àÐÂÓû§µÄÄÑÌâ¡£ÔÚWindowsÖУ¬ÎÒÃÇ¿ÉÒÔʹÓÃÈí¼þ×Ô´øµÄ°²×°Ð¶ÔسÌÐò»òÔÚ¿ØÖÆÃæ°åÖеēÌí¼Ó/ɾ³ý³ÌÐò” À´ÊµÏÖ¡£ÓëÆäÏàÀàËÆ£¬ÔÚLinuxÏÂÓÐÒ»¸ö¹¦ÄÜÇ¿´óµÄÈí¼þ°²×°Ð¶Ôع¤¾ß£¬ÃûΪRPM¡£Ëü¿ÉÒÔÓÃÀ´½¨Á¢¡¢°²×°¡¢²éѯ¡¢¸üС¢Ð¶ÔØÈí¼þ¡£¸Ã¹¤ ......
Íø¿¨µÄÉèÖÃ
¼ûÒÔǰµÄÎÄÕÂ
Ö÷»úÃûµÄÉèÖÃ:
/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=a100 ----->Ö÷»úÃû
smbÊÇSamba µÄÖ÷ÒªÆô¶¯·þÎñÆ÷£¬ÈÃÆäËü»úÆ÷ÄÜÖªµÀ´Ë»úÆ÷¹²ÏíÁËʲô£»
......
ÎļþϵͳµÄ×éÖ¯½á¹¹·ÖÎö£¬ÎÒÃÇÄÜ·ÖÎöÊ²Ã´ÄØ£¿Ò²¾ÍÊǵ±ÎÒÃÇÁÐ/Ŀ¼ʱ£¬Ëù¿´µ½µÄ/usr¡¢/etc ... ... /var
µÈĿ¼ÊÇ×öʲôÓõģ¬ÕâЩĿ¼ÊDz»ÊÇÓÐÐ©ÌØ¶¨µÄÓÃ;¡£ÎÞÂÛÄĸöÄĸö°æ±¾µÄLinuxϵͳ£¬¶¼ÓÐÕâЩĿ¼£¬ÕâЩĿ¼Ӧ¸ÃÊDZê×¼µÄ¡£µ±È»¸÷¸ö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/../../../.. ......