Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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,¶Ë¿Ú*/
 


Ïà¹ØÎĵµ£º

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

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

linuxÄÚºËÄ£¿é±à³ÌÖ®·ûºÅµ¼³ö

ºÜ¼òµ¥µÄÒ»¸ö³ÌÐò,subÄ£¿éÌṩÁ½¸öº¯Êýsub_integer,add_integer£¬²¢½«Æäµ¼³öµ½Äں˷ûºÅ±íÖУ¬sub_testÄ£¿é¶ÔÕâÁ½¸öº¯Êý½øÐе÷Óá£ÕâËãÊÇ×Ô¼ºÐ´µÄµÚÒ»¸öÄÚºËÄ£¿é³ÌÐò°É£¬¼ÍÄîÒ»ÏÂ.
sub.c:
#include<linux/init.h>
#include<linux/kernel.h>
#include<linux/module.h>
MODULE_LICENSE("Dual BSD/GPL") ......

linuxÍøÂçÅäÖÃ

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

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

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

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

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