linux socket ÓÅ»¯
linux socket ÓÅ»¯
2008-06-12 16:40
ʹÓà Sockets API£¬ÎÒÃÇ¿ÉÒÔ¿ª·¢¿Í»§»úºÍ·þÎñÆ÷Ó¦ÓóÌÐò£¬ËüÃÇ¿ÉÒÔÔÚ±¾µØÍøÂçÉϽøÐÐͨÐÅ£¬Ò²¿ÉÒÔͨ¹ý Internet ÔÚÈ«Çò·¶Î§ÄÚ½øÐÐͨÐÅ¡£ÓëÆäËû API Ò»Ñù£¬Äú¿ÉÒÔͨ¹ýһЩ·½·¨Ê¹Óà Sockets API£¬´Ó¶øÌá¸ß Socket µÄÐÔÄÜ£¬»òÕßÏÞÖÆ Socket µÄÐÔÄÜ¡£±¾ÎÄ̽Ë÷ÁË 4 ÖÖʹÓà Sockets API À´»ñÈ¡Ó¦ÓóÌÐòµÄ×î´óÐÔÄܲ¢¶Ô GNU/Linux® »·¾³½øÐÐÓÅ»¯´Ó¶ø´ïµ½×îºÃ½á¹ûµÄ·½·¨¡£
ÔÚ¿ª·¢ socket Ó¦ÓóÌÐòʱ£¬Ê×ÒªÈÎÎñͨ³£ÊÇÈ·±£¿É¿¿ÐÔ²¢Âú×ãһЩÌض¨µÄÐèÇó¡£ÀûÓñ¾ÎÄÖиø³öµÄ 4 ¸öÌáʾ£¬Äú¾Í¿ÉÒÔ´ÓÍ·¿ªÊ¼ÎªÊµÏÖ×î¼ÑÐÔÄÜÀ´Éè¼Æ²¢¿ª·¢ socket ³ÌÐò¡£±¾ÎÄÄÚÈÝ°üÀ¨¶ÔÓÚ Sockets API µÄʹÓá¢Á½¸ö¿ÉÒÔÌá¸ßÐÔÄÜµÄ socket Ñ¡ÏîÒÔ¼° GNU/Linux ÓÅ»¯¡£
ΪÁËÄܹ»¿ª·¢ÐÔÄÜ׿ԽµÄÓ¦ÓóÌÐò£¬Çë×ñÑÒÔϼ¼ÇÉ£º
×îС»¯±¨ÎÄ´«ÊäµÄÑÓʱ¡£
×îС»¯ÏµÍ³µ÷ÓõĸºÔØ¡£
Ϊ Bandwidth Delay Product µ÷½Ú TCP ´°¿Ú¡£
¶¯Ì¬ÓÅ»¯ GNU/Linux TCP/IP Õ»¡£
¼¼ÇÉ 1. ×îС»¯±¨ÎÄ´«ÊäµÄÑÓʱ
ÔÚͨ¹ý TCP socket ½øÐÐͨÐÅʱ£¬Êý¾Ý¶¼²ð·Ö³ÉÁËÊý¾Ý¿é£¬ÕâÑùËüÃǾͿÉÒÔ·â×°µ½¸ø¶¨Á¬½ÓµÄ TCP payload£¨Ö¸ TCP Êý¾Ý°üÖеÄÓÐЧ¸ººÉ£©ÖÐÁË¡£TCP payload µÄ´óСȡ¾öÓÚ¼¸¸öÒòËØ£¨ÀýÈç×î´ó±¨Îij¤¶ÈºÍ·¾¶£©£¬µ«ÊÇÕâЩÒòËØÔÚÁ¬½Ó·¢Æðʱ¶¼ÊÇÒÑÖªµÄ¡£ÎªÁË´ïµ½×îºÃµÄÐÔÄÜ£¬ÎÒÃǵÄÄ¿±êÊÇʹÓþ¡¿ÉÄܶàµÄ¿ÉÓÃÊý¾ÝÀ´Ìî³ä ÿ¸ö±¨ÎÄ¡£µ±Ã»ÓÐ×ã¹»µÄÊý¾ÝÀ´Ìî³ä payload ʱ£¨Ò²³ÆΪ×î´ó±¨ÎĶγ¤¶È£¨maximum segment size£© »ò MSS£©£¬TCP ¾Í»á²ÉÓà Nagle Ëã·¨×Ô¶¯½«Ò»Ð©Ð¡µÄ»º³åÇøÁ¬½Óµ½Ò»¸ö±¨ÎĶÎÖС£ÕâÑù¿ÉÒÔͨ¹ý×îС»¯Ëù·¢Ë͵ı¨ÎĵÄÊýÁ¿À´Ìá¸ßÓ¦ÓóÌÐòµÄЧÂÊ£¬²¢¼õÇáÕûÌåµÄÍøÂçÓµÈûÎÊÌâ¡£
¾¡¹Ü John Nagle µÄËã·¨¿ÉÒÔͨ¹ý½«ÕâЩÊý¾ÝÁ¬½Ó³É¸ü´óµÄ±¨ÎÄÀ´×îС»¯Ëù·¢Ë͵ı¨ÎĵÄÊýÁ¿£¬µ«ÊÇÓÐʱÄú¿ÉÄÜÏ£ÍûÖ»·¢ËÍһЩ½ÏСµÄ±¨ÎÄ¡£Ò»¸ö¼òµ¥µÄÀý×ÓÊÇ telnet ³ÌÐò£¬ËüÈÃÓû§¿ÉÒÔÓëÔ¶³Ìϵͳ½øÐн»»¥£¬Õâͨ³£¶¼ÊÇͨ¹ýÒ»¸ö shell À´½øÐеġ£Èç¹ûÓû§±»ÒªÇóÓ÷¢Ëͱ¨ÎÄ֮ǰÊäÈëµÄ×Ö·ûÀ´Ìî³äij¸ö±¨ÎĶΣ¬ÄÇôÕâÖÖ·½·¨¾Í¾ø¶Ô²»ÄÜÂú×ãÎÒÃǵÄÐèÒª¡£
ÁíÍâÒ»¸öÀý×ÓÊÇ HTTP ÐÒ顣ͨ³££¬¿Í»§»úä¯ÀÀÆ÷»á²úÉúÒ»¸öСÇëÇó£¨Ò»Ìõ HTTP ÇëÇóÏûÏ¢£©£¬È»ºó Web ·þÎñÆ÷¾Í»á·µ»ØÒ»¸ö¸ü´óµÄÏìÓ¦£¨Web Ò³Ã棩¡£
½â¾ö·½°¸
ÄúÓ¦¸Ã¿¼ÂǵĵÚÒ»¼þÊÂÇéÊÇ Nagle Ëã·¨Âú×ãÒ»ÖÖÐèÇó¡£ÓÉÓÚÕâÖÖËã·¨¶ÔÊý¾Ý½øÐкϲ¢£¬ÊÔͼ¹¹³ÉÒ»¸öÍêÕûµÄ TCP ±¨ÎĶΣ¬Òò´ËËü»áÒýÈëһЩÑÓʱ¡£µ«ÊÇÕâÖÖËã·¨¿ÉÒÔ×îС»¯ÔÚÏß·ÉÏ·¢Ë͵ı
Ïà¹ØÎĵµ£º
LinuxÖеĽø³ÌͨÐÅ
1.¹ÜµÀ
º¯ÊýÔÐÍ£ºint pipe(int filedes[2]);
º¯Êý·µ»ØÖµ£º ÕýÈ··µ»Ø0£»´íÎó·µ»Ø-1
ÆäÖеÄÎļþÃèÊö·ûfiledes[0]ÊÇÓÃÀ´¶ÁÈ¡Êý¾ÝµÄ£¬filedes[1]ÊÇÓÃÀ´Ð´Êý¾ÝµÄ¡£
Àý×Ó1£º
#include<stdio.h>
#include<stdlib.h>
#include<u ......
o: ±àÒëµÄÄ¿±êÎļþ
-X/S3fm'SH]X0
a:
¾²Ì¬¿â£¬Æäʵ¾ÍÊÇ°ÑÈô¸ÉoÎļþ´òÁ˸ö°ü
k
z3noUV
pR0
so: ¶¯Ì¬Á´½Ó¿â£¨¹²Ïí¿â£©Öйúµç×Ó¶¥¼¶¿ª·¢Íø----×îרҵµÄµç
×ÓÂÛ̳¡¢×îרҵµÄµç×Ó¹¤³Ìʦ²©¿ÍL&??,z4i&G&G&S
V
r0^mk zF5o"xC1c0
lo:
ʹÓÃlibtool±àÒë³öµÄÄ¿±êÎļþ£¬Æäʵ¾ÍÊÇÔÚo ......
¡¡ls ÃüÁî¿ÉÒÔ˵ÊÇlinuxÏÂ×î³£ÓõÄÃüÁîÖ®Ò»¡£ËüÓÐÖÚ¶àµÄÑ¡ÏÆäÖÐÓкܶàÊǺÜÓÐÓõģ¬ÄãÊÇ·ñÊìϤÄØ£¿ÏÂÃæÁгöÁË ls ÃüÁîµÄ¾ø´ó¶àÊýÑ¡Ïî¡£
¡¡¡¡-a ÁгöĿ¼ÏµÄËùÓÐÎļþ£¬°üÀ¨ÒÔ . ¿ªÍ·µÄÒþº¬Îļþ¡£
¡¡¡¡-b °ÑÎļþÃûÖв»¿ÉÊä³öµÄ×Ö·ûÓ÷´Ð±¸Ü¼Ó×Ö·û±àºÅ(¾ÍÏóÔÚCÓïÑÔÀïÒ»Ñù)µÄÐÎʽÁгö¡£
¡¡¡¡-c Êä³öÎļþµÄ i ½ÚµãµÄÐÞ¸Äʱ ......
MySQL(rootÓû§)ÃÜÂëÍü¼ÇÖØÖÃ
·Ö±ðÔÚWindowsϺÍLinuxÏÂÖØÖÃÁËMYSQLµÄrootµÄÃÜÂ룬ÕûÀíÈçÏ£º
¡¡¡¡A£ºÔÚwindowsÏ£º
¡¡¡¡1£º½øÈëcmd£¬Í£Ö¹mysql·þÎñ£ºNet stop mysql
¡¡¡¡ µ½mysqlµÄ°²×°Â·¾¶Æô¶¯mysql£¬ÔÚbinĿ¼ÏÂʹÓÃmysqld-nt.exeÆô¶¯£¬
¡¡¡¡2£ºÖ´ÐУºmysqld-nt --skip-grant-tables£¨´°¿Ú»áһֱֹͣ ......
ÏȽéÉÜÒ»ÏÂÇé¿ö£¬·þÎñÆ÷AºÍ·þÎñÆ÷B¶¼ÊÇCentOS 4.6µÄϵͳ£¬ÏÖÔÚÒª×öHA
Cluster£¬ÎªÁ˱ÜÃâÁÑÄԵķ¢Éú£¬ÒªÌá¸ßÐÄÌøÁ´Â·µÄ¿É¿¿ÐÔ£¬ÏÂͼÊÇÏÖʱµÄÁ¬½ÓÇé¿ö£¬·þÎñÆ÷AµÄeth2¡¢eth3·Ö±ðºÍ·þÎñÆ÷BµÄeth2¡¢eth3
ÏàÁ¬£¨Ã»ÓÐ˳Ðò¹Øϵ£©£¬ËùÓÐÍø¿¨¶¼ÊÇǧÕ×Íø¿¨£¬ÍØÆËͼÈçÏÂËùʾ£º
ÔÚ½éÉÜÒ»ÆðÓ²¼þÇé¿ö£¬·þÎñÆ÷AÊÇһ̨HP DL380
G5£¬ ......