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ÖÐtouchÃüÁî²ÎÊý²»³£Óã¬Ò»°ãÔÚʹÓÃmakeµÄʱºò¿ÉÄÜ»áÓõ½£¬ÓÃÀ´ÐÞ¸ÄÎļþʱ¼ä´Á£¬»òÕßн¨Ò»¸ö²»´æÔÚµÄÎļþ,ÒÔÏÂÊÇlinuxÖÐtouchÃüÁî²ÎÊýµÄʹÓ÷½·¨:
¡¡¡¡touch [-acm][-r ref_file(²ÎÕÕÎļþ)|-t time(ʱ¼äÖµ)] file(ÎļþÃû)
¡¡¡¡example:
¡¡¡¡touch file1.txt ¸üÐÂfile1.txtµÄ´æÈ¡ºÍÐÞ¸Äʱ¼ä
¡¡¡¡touch -c file1.tx ......
ÓÐʱsystem.mapÎļþ¿ÉÒÔ°ïÖúÎÒÃÇÀí½âÄں˱àÒ룬Ëü¼Ç¼ÁËËùÓдúÂëµÄÔËÐеØÖ·¡£
system.mapÄÚÈݸñʽΪ£ºÏßÐÔµØÖ· ÀàÐÍ ·ûºÅ
¾ßÌåÄÚÈÝÈçÏ£º
00100000 A phys_startup_32
c0100000 T startup_32
c0100000 A _text &nbs ......
1 ǰÑÔ
Ðí¶àÈËÔÚ·ÖÎölinux´úÂëʱ¶ÔÍøÂ粿·Ö£¨Ö÷ÒªÊÇsrc/linux/net£¬src/linux/include/net¼°src/linux/include/linuxĿ¼ÏµÄÎļþ£©±È½Ï¸ÐÐËȤ£¬È·Êµ£¬¾¡¹ÜÒѾ´ÓÊé±¾ÉÏѧµ½ÁË´óÁ¿µÄTCP/IPÔÀí£¬²»¶ÁÔ´ÂëµÄ»°£¬Í·ÄÔÖл¹Êǽ¨Á¢²»Æð¾ßÌåµÄÓ¡Ïó¡£¶ø·ÖÎöÕⲿ·Ö´úÂëµÄÒ»¸öÎÊÌâ±ãÊÇ´úÂëÖÚ¶à¶ø×ÊÁϺÜÉÙ¡£ÕâÆªÎÄÕµÄÄ¿µÄ¾ÍÊǹ´ÀÕ³ö ......
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£¨´°¿Ú»áһֱֹͣ ......