Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux Socket ѧϰ£¨Ê®£©


Linux Socket ѧϰ£¨Ê®£©
ÔÚÌ×½Ó¿ÚÉÏʹÓñê×¼I/O
ÔÚÇ°ÃæÕ½ڵÄÀý×Ó´úÂëÖÐÎÒÃÇÒѾ­Ê¹ÓÃÁËread(2)»òÊÇwrite(2)ϵͳµ÷ÓÃÔÚÌ×½Ó¿ÚÉÏÖ´ÐжÁÈ¡ºÍдÈë²Ù×÷¡£Õâ¸ö¹æÔòµÄÒ»¸öÀýÍâ¾ÍÊÇrecvfrom(2)ºÍsendto(2)º¯Êý£¬ÕâÁ½¸öº¯ÊýÓÃÀ´¶ÁдÊý¾Ý±¨¡£È»¶ø£¬Ê¹ÓÃreadºÍwritteº¯Êýµ÷ÓÃÈ´ÓÐһЩ³ÌÐòÉϵÄȱµã¡£
ÕâÒ»ÕÂÎÒÃǽ«»áÌÖÂÛÒÔÏÂÄÚÈÝ£º
ÈçºÎʹÓÃfdopen(3)½«Ò»¸öÌ×½Ó¿ÚÓëÒ»¸öFILEÁ÷Ïà¹ØÁª
ÈçºÎ´´½¨²¢¶ÁдFILEÁ÷
¹Ø±ÕÓëÌ×½Ó¿ÚÏà¹ØÁªµÄÁ÷µÄÎÊÌâ
ΪÎÒÃǵÄFILEÁ÷Ñ¡Ôñ²¢´´½¨ºÏÊʵĻº³å¼¼Êõ
ÖжÏϵͳµ÷ÓõÄÎÊÌâ
ÕÆÎÕÁËÕâЩÄÚÈݽ«ÎªÎÒÃÇÌṩ½â¾öÎÒÃÇÍøÂç³ÌÐòµÄ¶îÍâ·½·¨¡£
Àí½â±ê×¼I/OµÄÐèÒª
LinuxÖеÄstdio(3)³ÌÐò·ûºÏANSI C3.159-1989±ê×¼¡£Õâ¸ö½Ó¿ÚµÄ±ê×¼»¯¿ÉÒÔ°ïÖú³ÌÐò½«³ÌÐòÒÆÖ²µ½¶à¸öƽ̨¡£ÀýÈ磬µ±ÎÒÃÇÒª½«Ô´´úÂë´ÓÆäËûµÄUNIXÏµÍ³ÒÆÖ²µ½ÎÒÃÇ×Ô¼ºµÄLinuxƽ̨ʱ£¬Õâ¸ö³ÌÐò¶ÔÓÚÎÒÃÇÀ´ËµÒ²ÐíÓÐÓá£
stdio°ü±¾ÉíÊÇÓëreadºÍwritteµ÷ÓÃÏà³åÍ»¡£È»¶ø£¬ÎÒÃÇȴʹÓñê×¼µÄI/Oµ÷Óã¬ÒòΪ¸ù¾ÝÎÒÃdzÌÐòµÄÐèÒª£¬ËûÃÇ¿ÉÒÔ·½±ãµÄÿ´ÎΪÎÒÃÇÌṩһÐлòÊÇÒ»¸ö×Ö·û¡£ÀýÈ磬readµ÷Ó㬲¢²»»áΪÎÒÃǵijÌÐò·µ»ØÒ»¸öÎı¾ÐС£Ïà·´£¬ËûÃÇ·µ»Ø¾¡¿ÉÄܶàµÄÊý£¬ÉõÖÁÊǶàÐÐÎı¾¡£
µ±Ð´ÈëÌ×½Ó¿Úʱ£¬±ê×¼I/OÀý³Ì¿ÉÒÔÔÊÐíÎÒÃǵijÌÐòÿ´ÎдÈëÒ»¸ö×Ö·û£¬¶ø²»»áÔì³É´óµÄÄÚÈݸ²¸Ç¡£ÁíÒ»·½Ã棬ÿ´Îµ÷ÓÃwritteдÈëÒ»¸ö×Ö·û»¨·ÑÌ«´ó¡£±ê×¼I/Oº¯ÊýÔÊÐíÎÒÃǵijÌÐòʹÓúÏÊʵÄÊý¾Ýµ¥Ôª½øÐвÙ×÷¡£
stdioͬʱÎÒÃǵijÌÐòÌṩÁËÊý¾Ý»º³å¹¦ÄÜ£¬°üÀ¨ÊäÈëÓëÊä³ö¡£µ±Ê¹Óûº³å¹¦ÄÜ£¬¿ÉÒÔ¼«´óµÄ¸ÄÉÆÎÒÃdzÌÐòµÄÐÔÄÜ¡£²»ÐÒµÄÊÇ£¬»º³å»áΪijЩ¸ñʽµÄͨÐÅÔì³ÉÀ§ÄÑ£¬ËùÒÔ²¢²»ÊÇ×ÜÊÇʹÓûº³å¡£
ÔÚÕâÒ»ÕÂÎÒÃǼÙÉèÒѾ­ÊìϤÁËstdioµÄ»ù±¾¹¦ÄÜ¡£Õâͨ³£ÊÇÔÚC³ÌÐò½Ì³Ì£¬Í¬Ê±Ò²ÊÇCÓïÑÔ±¾ÉíËù½ÌµÄÄÚÈÝ¡£ÏàÓ¦µÄ£¬ÕâÒ»ÕÂÎÒÃǽ«»áרעÓÚÎÒÃÇÓ¦ÃÜÇйØ×¢µÄ¶«Î÷£¬¶øÆäËûµÄһЩϸ΢µÄµØ·½²¢²»Ã÷ÏÔ£¬ÒòΪËûÊÊÓÃÓÚÌ×½Ó¿Ú±à³Ì¡£
½«Ò»¸öÌ×½Ó¿ÚÓëÒ»¸öÁ÷Ïà¹ØÁª
stdioÁ÷ÊÇÓÉFILE¿ØÖÆ¿éÀ´½øÐйÜÀíµÄ¡£ÀýÈ磬ÎÒÃÇÒ²ÐíÒѾ­¶à´Î±àдÁËÈçÏÂËùʾµÄ´úÂ룺
FILE *in;
in = fopen(pathname,"r");
if ( in == NULL ) {
    fprintf(stderr,"%s: opening %s for read.\n",strerror(errno),pathname);
    exit(1);
}
ÔÚÕâ¸öÀý×ÓÖУ¬±äÁ¿pathnameËùÖ¸¶¨µÄÎļþ½«»á´ò¿ªÀ´¶Á¡£Èç¹ûopenµ÷Óóɹ¦£¬±äÁ¿in½«»á½ÓÊÕÒ»¸öÖ¸ÏòΪÎÒÃǹÜÀíÁ÷I/OµÄFILE½á¹¹¡£·ñÔò£¬±äÁ¿in½ÓÊÕÒ»¸öNULLÖ¸Õ룬¶øÎÒÃǵijÌÐòÒ²±ØÐë´¦Àí»òÊDZ¨¸æ


Ïà¹ØÎĵµ£º

linux_ѧϰ±Ê¼Ç_Ŀ¼½á¹¹

linuxĿ¼¼Ü¹¹
/   ¸ùĿ¼
/bin    ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot   ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
     /boot/grub/menu.lst   GRUBÉèÖÃ
     /boot/vmlinuz   ÄÚºË
   ......

linux_ѧϰ±Ê¼Ç_ÈçºÎÕÒµ½ºÍ°²×°Èí¼þ

1.ʹÓÃshellµÄwhichÃüÁ
È磺²éÕÒGUNµÄC±àÒëÆ÷°²×°Â·¾¶
$ which gcc
/usr/bin/gcc
2.Èç¹ûwhichûÓÐÕÒµ½ÒªÕÒµÄÎļþ£¬ÄǾÍÊÔÊÔwhereis£¬¸ÃÃüÁîËÑË÷¸ü´ó·¶Î§µÄϵͳĿ¼£¬ºÍshellËÑË÷·¾¶Î޹ء£
ÓÐЩϵͳwhichÃüÁîÎÞ·¨ÏÔʾÓû§Ã»Ö´ÐеÄȨÏÞÎļþ£º
È磺which ipppd
$ which ipppd
/usr/bin/which:no ipppd in £¨/bin:/ ......

Linux ÉèÖû·¾³±äÁ¿Ð¡½á

Linux ÉèÖû·¾³±äÁ¿Ð¡½á
×ªÔØ×Ô£ºhttp://www.roboticfan.com/blog/user_2005/104/archives/2009/2009617176.shtml
1¡¢×ܽᱳ¾°
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±Ëö ......

linux³£¼ûÃüÁî chmodºÍchownÃüÁîµÄÓ÷¨

Ò»¡¢chown ÃüÁî
ÓÃ;£º¸ü¸ÄÎļþµÄËùÓÐÕß»ò×é¡£ÃüÁîÓɵ¥´Êchange owner×éºÏ¶ø³É¡£
ʹÓÃʾÀý£º
1£¬¸ü¸ÄÎļþµÄËùÓÐÕߣº
chown jim program.c
Îļþ program.c µÄËùÓÐÕ߸ü¸ÄΪ jim¡£×÷ΪËùÓÐÕߣ¬jim ¿ÉÒÔʹÓà chmod ÃüÁîÔÊÐí»ò¾Ü¾øÆäËûÓû§·ÃÎÊ program.c¡£
2£¬¸ü¸ÄĿ¼µÄËùÓÐÕߣº
chown -R john:build /tmp/src
½«Ä¿Â¼ ......

linuxÍøÂç²ÎÊý½âÎö

linuxÍøÂç²ÎÊýÖ÷ҪλÓÚÏÂÃæÁ½¸öĿ¼ÏÂ:/proc/sys/net/core/ºÍ/proc/sys/net/ipv4/, ÏÂÃæ·Ö±ð¶ÔÕâÁ½¸öĿ¼Ï³£ÓõöÍøÂç²ÎÊý×öÏÂ˵Ã÷:
 
1./proc/sys/net/core/
 
$ /proc/sys/net/core/somaxconn
listen()µÄĬÈϲÎÊý,¹ÒÆðÇëÇóµÄ×î´óÊýÁ¿.ĬÈÏÊÇ128.¶Ô·±Ã¦µÄ·þÎñÆ÷,Ôö¼Ó¸ÃÖµÓÐÖúÓÚÍøÂçÐÔÄÜ, ¿É²Î¿¼µÄÓÅ»¯Ö ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ