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

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ÃèÊö·û£¬


Ïà¹ØÎĵµ£º

linuxÉ豸Çý¶¯Ñ§Ï°ÐèÒªÕÆÎյĻù´¡¼¼Êõ

      linuxÉ豸Çý¶¯µÄѧϰÊÇÒ»ÏîºÆ´óµÄ¹¤³Ì,¶ÁÕßÐèÒªÊ×ÏÈÕÆÎÕÒÔÏ»ù´¡:
 
1.Á¼ºÃµÄÓ²¼þ»ù´¡,¶®µÃSRAM,FLASH,SDRAM,Ó²Å̵ĶÁд·½Ê½,UART,I2C,USBµÈÉ豸½Ó    ¿Ú,ÂÖѯ,ÖжÏ,DMAµÄÔ­Àí,PCI×ÜÏߵŤ×÷·½Ê½ÒÔ¼°CPUµÄÄÚ´æ¹ÜÀíµ¥Ôª(MMU)µÈ.
 
2.Á¼ºÃµÄCÓïÑÔ»ù´¡,ÄÜÁé»îµØÔ ......

ÔÚWindowsÏÂÔ¶³Ì×ÀÃæÁ¬½ÓLinux XManagerƪ

×÷Õߣº¸ßÕÅÔ¶Öõ(HiLoveS)
²©¿Í£ºhttp://www.cnblogs.com/hiloves/
×ªÔØÇë±£Áô¸ÃÐÅÏ¢
XManager ÊÇÒ»¸ö¼òµ¥Ò×ÓõĸßÐÔÄܵÄÔËÐÐÔÚWindowsƽ̨ÉϵÄX-ServerÈí¼þ£¬¶øGnomeºÍKDE¾ÍÊÇX-Client£¬LinuxϵÄX- ServerÔòΪXorg¡£ËüÄܰÑÔ¶¶ËUnix/LinuxµÄ×ÀÃæÎÞ·ìµØ´øµ½ÄãµÄWindowsÉÏ£¬ÉõÖÁµ±ÄãµÄµçÄÔÊÇÔÚÄÚÍø»ò·À»ðǽºó£¬ÄãÒ²ÄÜͨ ......

LinuxµÄread/write¡¢fread/fwrite¡¢open/fopenÇø±ð

1,freadÊÇ´ø»º³åµÄ,read²»´ø»º³å.
2,fopenÊDZê×¼cÀﶨÒåµÄ,openÊÇPOSIXÖж¨ÒåµÄ.
3,fread¿ÉÒÔ¶ÁÒ»¸ö½á¹¹.readÔÚlinux/unixÖжÁ¶þ½øÖÆÓëÆÕͨÎļþûÓÐÇø±ð.
4,fopen²»ÄÜÖ¸¶¨Òª´´½¨ÎļþµÄȨÏÞ.open¿ÉÒÔÖ¸¶¨È¨ÏÞ.
5,fopen·µ»ØÖ¸Õë,open·µ»ØÎļþÃèÊö·û(ÕûÊý).
6,linux/unixÖÐÈκÎÉ豸¶¼ÊÇÎļþ,¶¼¿ÉÒÔÓÃopen,read.
Èç¹ ......

LinuxϵͳÓëÍøÂç·þÎñ¹ÜÀí¼¼Êõ


±¾ÎÄÑ¡×Ô¡¶LinuxϵͳÓëÍøÂç·þÎñ¹ÜÀí¼¼Êõ´óÈ«£¨µÚ2°æ£©¡·Ò»Êé
µÚ2°æ ǰÑÔ      LinuxÊÇÒ»¸öÓÅÐãµÄ¡¢ÈÕÒæ³ÉÊìµÄ²Ù×÷ϵͳ£¬¾­¹ýÊ®¼¸ÄêµÄ·¢Õ¹£¬ÒѾ­ÓµÓÐÁË´óÁ¿µÄÓû§¡£ÎªÁËÂú×ãÖÚ¶àLinux³õѧÕß¡¢°®ºÃÕß¼°×¨ÒµÈËÔ±µÄʹÓÃÐèÒª£¬±ÊÕßÔÚ¶àÄê´ÓÊÂLinuxÑо¿¡¢½Ìѧ¼°¿ª·¢¹¤×÷µÄ»ù´¡ÉϾ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ