linuxÏÂsocketͨÐÅ֮ͨÐÅÄ£ÐÍ
µ¼¶Á£º
¡¡¡¡1£®Socket¼ò½é
¡¡¡¡SocketÊÇTCP/IPÍøÂçµÄAPI£¬¿ÉÒÔÓÃËüÀ´¿ª·¢ÍøÂçÓ¦ÓóÌÐò£¬SocketÊý¾Ý´«ÊäÊÇÒ»ÖÖÌØÊâµÄI/O£¬SocketÒ²ÊÇÒ»ÖÖÎļþÃèÊö·û
¡¡¡¡2£®SocketµÄ½¨Á¢
¡¡¡¡int socket(int domain£¬ int type£¬ int protocol)
¡¡¡¡º¯Êý·µ»Ø£ºÒ»¸öÕûÐ͵ÄSocketÃèÊö·û£¬¿ÉÒÔÔÚºóÃæµ÷ÓÃËü¡£
¡¡¡¡²ÎÊý˵Ã÷£º
¡¡¡¡int domain£ºÖ¸Ã÷ËùʹÓõÄÐÒé×壬 ͨ³£ÊÇPF_INET£¬ ±íÊ¾ÍøÂç(TCP/IP)ÐÒé×å˵Ã÷ÎÒÃÇÍøÂç³ÌÐòËùÔÚµÄÖ÷»ú²ÉÓõÄͨѶÐ×å(AF_UNIXºÍAF_INETµÈ).
¡¡¡¡AF_UNIX£ºÖ»Äܹ»ÓÃÓÚµ¥Ò»µÄUnixϵͳ½ø³Ì¼äͨÐÅ£¬
¡¡¡¡AF_INET£ºÊÇÕë¶ÔInternetµÄ£¬Òò¶ø¿ÉÒÔÔÊÐíÔÚÔ¶³ÌÖ÷»úÖ®¼äͨÐÅ£¨µ±ÎÒÃÇman socketʱ·¢ÏÖdomain¿ÉÑ¡ÏîÊÇ PF_*¶ø²»ÊÇAF_*£¬ÒòΪglibcÊÇposixµÄʵÏÖËùÒÔÓÃPF´úÌæÁËAF£¬²»¹ýÎÒÃǶ¼¿ÉÒÔʹÓõģ©
¡¡¡¡int type£ºÖ¸¶¨socketµÄÀàÐÍ£¬ ͨ³£ÊÇ SOCK_STREAM Á÷ʽSocketÕâÑù»áÌṩ°´Ë³ÐòµÄ£¬¿É¿¿£¬Ë«Ïò£¬ÃæÏòÁ¬½ÓµÄ±ÈÌØÁ÷ºÍSOCK_DGRAMÊý¾Ý±¨Ê½SocketÕâÑùÖ»»áÌṩ¶¨³¤µÄ£¬²»¿É¿¿£¬ÎÞÁ¬½ÓµÄͨÐÅ
¡¡¡¡int prottocol£ºÍ¨³£Îª0 ÓÉÓÚÎÒÃÇÖ¸¶¨ÁËtype£¬ËùÒÔÕâ¸öµØ·½ÎÒÃÇÒ»°ãÖ»ÒªÓÃ0À´´úÌæ¾Í¿ÉÒÔÁË
¡¡¡¡Ó¦ÓÃʾÀý£ºint sockfd = socket(PF_INET£¬ SOCK_STREAM£¬ 0);
¡¡¡¡
¡¡¡¡3£®SocketÅäÖÃ
¡¡¡¡SocketÃèÊö·ûÊÇÒ»¸öÖ¸ÏòÄÚ²¿Êý¾Ý½á¹¹µÄÖ¸Õ룬ËüÖ¸ÏòÃèÊö·û±íÈë¿Ú¡£µ÷ÓÃSocketº¯Êýʱ£¬socketÖ´ÐÐÌ彫½¨Á¢Ò»¸öSocket£¬Êµ¼ÊÉÏ"½¨Á¢Ò»¸öSocket"Òâζ×ÅΪһ¸öSocketÊý¾Ý½á¹¹·ÖÅä´æ´¢¿Õ¼ä¡£SocketÖ´ÐÐÌåΪÄã¹ÜÀíÃèÊö·û±í¡£
¡¡¡¡Á½¸öÍøÂç³ÌÐòÖ®¼äµÄÒ»¸öÍøÂçÁ¬½Ó°üÀ¨ÎåÖÖÐÅÏ¢£ºÍ¨ÐÅÐÒé¡¢±¾µØÐÒ鵨ַ¡¢±¾µØÖ÷»ú¶Ë¿Ú¡¢Ô¶¶ËÖ÷»úµØÖ·ºÍÔ¶¶ËÐÒé¶Ë¿Ú¡£SocketÊý¾Ý½á¹¹Öаüº¬ÕâÎåÖÖÐÅÏ¢¡£
¡¡¡¡Í¨¹ýsocketµ÷Ó÷µ»ØÒ»¸ösocketÃèÊö·ûºó£¬ÔÚʹÓÃsocket½øÐÐÍøÂç´«ÊäÒÔǰ£¬±ØÐëÅäÖøÃsocket£º
¡¡¡¡1) ÃæÏòÁ¬½ÓµÄsocket¿Í»§¶Ëͨ¹ýµ÷ÓÃConnectº¯ÊýÔÚsocketÊý¾Ý½á¹¹Öб£´æ±¾µØºÍÔ¶¶ËÐÅÏ¢¡£
¡¡¡¡2) ÎÞÁ¬½ÓsocketµÄ¿Í»§¶ËºÍ·þÎñ¶ËÒÔ¼°ÃæÏòÁ¬½ÓsocketµÄ·þÎñ¶Ëͨ¹ýµ÷ÓÃbindº¯ÊýÀ´ÅäÖñ¾µØÐÅÏ¢¡£
¡¡¡¡
¡¡¡¡4£®Bind£¨£©
¡¡¡¡Bindº¯Êý½«socketÓë±¾»úÉϵÄÒ»¸ö¶Ë¿ÚÏà¹ØÁª£¬ËæºóÄã¾Í¿ÉÒÔÔڸö˿ڼàÌý·þÎñÇëÇó¡£
¡¡¡¡º¯ÊýÔÐÍ£ºint bind(int sockfd£¬ struct sockaddr *my_addr£¬ int addrlen);
¡¡¡¡º¯Êý·µ»Ø£º³É¹¦±»µ÷ÓÃʱ·µ»Ø0£»³öÏÖ´íÎóʱ·µ»Ø"-1"²¢½«errnoÖÃΪÏàÓ¦µÄ´íÎóºÅ¡£
¡¡¡¡²ÎÊý˵Ã÷£º
¡¡¡¡Sockfd£ºÊǵ÷ÓÃsocketº¯Êý·µ»ØµÄsocketÃèÊö·û£¬
Ïà¹ØÎĵµ£º
×÷Õߣº¸ßÕÅÔ¶Öõ(HiLoveS)
²©¿Í£ºhttp://www.cnblogs.com/hiloves/
×ªÔØÇë±£Áô¸ÃÐÅÏ¢
XManager ÊÇÒ»¸ö¼òµ¥Ò×ÓõĸßÐÔÄܵÄÔËÐÐÔÚWindowsƽ̨ÉϵÄX-ServerÈí¼þ£¬¶øGnomeºÍKDE¾ÍÊÇX-Client£¬LinuxϵÄX- ServerÔòΪXorg¡£ËüÄܰÑÔ¶¶ËUnix/LinuxµÄ×ÀÃæÎÞ·ìµØ´øµ½ÄãµÄWindowsÉÏ£¬ÉõÖÁµ±ÄãµÄµçÄÔÊÇÔÚÄÚÍø»ò·À»ðǽºó£¬ÄãÒ²ÄÜͨ ......
a.¿ª»ú½øÈëͼÐνçÃæ£º°²×°Ê±Ñ¡Í¼ÐÎÆô¶¯·½Ê½»ò°Ñ/etc /inittabµÄid:x:initdefault:ÕâÐиijÉid:5:initdefault:¡£
b.¿ª»ú²»½øÈëͼÐνçÃæ£º°²×°Ê±Ñ¡Îı¾Æô¶¯·½Ê½»ò°Ñ/etc/inittabµÄid:x:initdefault:ÕâÐиijÉid:3:initdefault:¡£
*inittabÊÇ×öʲôµÄ£¿
ÔÚKERNELÆðÀ´Ö®ºó£¬½«Éú³ÉµÚÒ»¸ö½ø³Ì——init£¬Êµ¼ÊÉÏÊÇÖ´Ð ......
°æÈ¨ÉùÃ÷
±¾ÎÄ×÷ÕßÊÇһλ×ÔÓÉÈí¼þ°®ºÃÕߣ¬ËùÒÔ±¾ÎÄËäÈ»²»ÊÇÈí¼þ£¬µ«ÊDZ¾×Å GPL µÄ¾«Éñ·¢²¼¡£ÈκÎÈ˶¼¿ÉÒÔ×ÔÓÉʹÓá¢×ªÔØ¡¢¸´ÖƺÍÔÙ·Ö·¢£¬µ«±ØÐë±£Áô×÷ÕßÊðÃû£¬Ò಻µÃ¶ÔÉùÃ÷ÖеÄÈκÎÌõ¿î×÷ÈκÎÐÎʽµÄÐ޸ģ¬Ò²²»µÃ¸½¼ÓÈÎºÎÆäËüÌõ¼þ¡£Äú¿ÉÒÔ×ÔÓÉÁ´½Ó¡¢ÏÂÔØ¡¢´«²¥´ËÎĵµ£¬µ«Ç°ÌáÊDZØÐ뱣֤ȫÎÄÍêÕû×ªÔØ£¬°üÀ¨ÍêÕûµÄ°æÈ¨ÐÅÏ¢ºÍ× ......
fdisk -l ÃüÁî¿´µ±Ç°´ÅÅÌÐÅÏ¢
[root@roswell root]# fdisk /dev/sdb
Command (m for help): m --´òÓ¡¸ÃÃüÁîµÄ²ÎÊý¹¦ÄÜÁбí
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibil ......
·½Ê½Ò»£º
ifconfig eth0 192.168.1.18 netmask 255.255.255.0
˵Ã÷£º¸ÃÖÖ·½Ê½¿ÉÒÔʹ¸Ä±ä¼´Ê±ÉúЧ£¬ÖØÆôºó»á»Ö¸´ÎªÔÀ´µÄIP
·½Ê½¶þ£º
vi /etc/sysconfig/network-scripts/ifcfg-eth0
˵Ã÷£º¸Ã·½Ê½ÒªÖØÆôºóÉúЧ£¬ÇÒÊÇÓÀ¾ÃµÄ
Èç¹ûÒªÁ¢¼´¸ü¸ÄÇÒÓÀ¾ÃÉúЧ£¬¾ÍÖ»ÄÜÒÔÉÏÁ½ÖÖ·½Ê½Í¬Ê±Ê¹ÓÃÁË¡£
ÒÔÉÏÊÇͨ¹ýlinuxÃüÁîÐÐÐÞ¸ÄIPµÄ· ......