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

linux socket±à³ÌÏà¹ØÖªÊ¶µÄ×ܽá

1£ºsocket±à³ÌÖвÉÓõÄЭÒé×åÖ÷ÒªÓÐÁ½ÖÖ
£º
   1>£ºÍøÂçЭÒé×å(ÐÎʽÈ磺AF_INET, PF_INETµÈ)
   2>£º±¾µØunixÓò¸ñʽµÄЭÒé×å(ÐÎʽÈ磺AF_LOCAL, AF_UNIXµÈ)
   ×¢£ºÐ­Òé×åµÄÑ¡ÔñÌåÏÖÔÚ  int  socket(int domain, inst type, int protocol)º¯ÊýµÄµÚÒ»¸ö²ÎÊý´¦¡£
2£ºÕâÁ½ÖÖЭÒé×åµÄÇø±ð£º
   1>£º±¾µØunixÓò¸ñʽµÄЭÒé×壬ֻÄÜÓÃÓÚ±¾»ú(¼´£¬¿Í»§¶ËºÍ·þÎñÆ÷¶ËÔÚͬһ̨»úÆ÷)£»¶øÍøÂçЭÒé×å
   ²»½ö¿ÉÒÔÓÃÓÚ±¾»úÒ²¿ÉÒÔ¿çÍøÂç
   2>£º±¾»úÉϵĿͻ§¶ËºÍ·þÎñ¶ËÖ®¼äµÄͨѶ²ÉÓñ¾µØunixÓò¸ñʽµÄЭÒé×åÒª±È²ÉÓÃÍøÂçЭÒé×åµÄËÙ¶È¿ì
   3>£º±¾µØunixÓò¸ñʽµÄЭÒé×åÓõÄÒ²±È½Ï¹ã·º£¬ÈçһЩ·þÎñÆ÷µÄÄ£¿é¼äµÄͨѶ(mysql)£¬ ÔÙ±ÈÈç¹ÜµÀµÈ¡£
3£ºsocketͨѶµÄ¼¸¸ö¹Ø¼üµÄº¯Êý
   1>£ºsendº¯Êý£¬Ô­ÐÍ£¬  int send(SOCKET s,  const char FAR *buf , int len,  inf flags)¡£¸Ãº¯ÊýµÄÏêϸ½éÉÜ£º
   ²ÎÊýs£¬Ì×½Ó×ÖÃèÊö·û£» ²ÎÊýbuf£¬´æ·Å·¢ËÍÊý¾ÝµÄ»º³åÇø£» ²ÎÊýlen, ·¢ËÍÊý¾ÝµÄ³¤¶È£»  ²ÎÊýflags£¬±êÖ¾£¬Ò»°ãΪ0£»
   ¸Ãº¯ÊýµÄÖ´ÐÐÁ÷³Ì(ͬ²½socket
)£º
   (1)£ºÊ×ÏȱȽÏlenÓëÌ×½Ó×ÖsµÄ·¢ËÍ»º³åÇø³¤¶ÈµÄ´óС(len1)£¬Èç¹ûlen´óÓÚlen1£¬ÄÇô¸Ãº¯ÊýÁ¢¼´·µ»ØSOCKET_ERROR
   (2)£ºÈç¹ûlen < len1, È»ºósend¼ì²éЭÒéÊÇ·ñÊÇÔÚ·¢ËÍsµÄ·¢ËÍ»º³åÇøÀïµÄÊý¾Ý£¬Èç¹ûÊǾ͵ȴýЭÒ齫Êý¾Ý·¢ËÍÍ꣬Èç¹ûЭÒ黹ûÓпªÊ¼·¢ËÍsµÄ·¢ËÍ»º³åÇøÀïµÄÊý¾Ý»òÕßsµÄ·¢ËÍ»º³åÇøÊǿյģ¬ÄÇôsend¾Í±È½ÏsµÄ·¢ËÍ»º³åÇøµÄÊ£Óà¿Õ¼ä(len2)ºÍlenµÄ´óС
   (3)£ºÈç¹ûlen > len2, ÄÇôsend¾ÍÒ»ÖµµÈ´ýЭÒ齫sµÄ·¢ËÍ»º³åÇøÖеÄÊý¾Ý·¢ËÍÍê
   (4)£ºÈç¹ûlen < len2, ÄÇô¾Í½«´ý·¢Ë͵ÄÊý¾Ýcopyµ½sµÄ·¢ËÍ»º³åÇøÀï
   ×¢£ºsendº¯ÊýÖ»Êǽ«´ý·¢Ë͵ÄÊý¾Ýcopyµ½Ì×½Ó×ÖsµÄ·¢ËÍ»º³åÇøÀïÃæ£¬¶ø¸ºÔð½«Êý¾Ý´«Ë͵½Í¨Ñ¶µÄÁíÒ»¶ËµÄÊÇЭÒé
¡£
   (5)£ºsendº¯ÊýµÄ·µ»ØÇé¿ö£ºÈç¹ûlen > len1 Ö±½Ó·µ»ØSOCKET_ERROR;  send½«Êý¾Ý´«Ë͵½Ì×½Ó×ÖsµÄ·¢ËÍ»º³åÇøÀ¶øÐ­ÒéÔÚ´«ËÍÊý¾Ýʱ£¬³öÏÖÍøÂç¹ÊÕÏ£¬Ò²·µ»ØSOCKET_ERROR
   2>£ºrecvº¯Êý(ͬ²½socket)
£¬Ô­ÐÍ£¬  int recv(SOCKET s, char FAR *buf,  int len,  int fags)
   (1)£º²ÎÊý˵Ã÷£


Ïà¹ØÎĵµ£º

LinuxÃüÁî

Ò»¡¢ ldconfig£º
¡¡¡¡LinuxϵͳÖУ¬ÎªÁËÈö¯Ì¬Á´½Ó¿âΪϵͳËù¹²Ïí£¬»¹ÐèÔËÐж¯Ì¬Á´½Ó¿âµÄ¹ÜÀíÃüÁî——ldconfig.
¡¡¡¡1. ldconfigÃüÁîµÄÓÃ;£ºÖ÷ÒªÊÇÔÚĬÈÏËÑѰĿ¼£¨/libºÍ/usr/lib£©ÒÔ¼°¶¯Ì¬¿âÅäÖÃÎļþ/etc/ld.so.confÄÚËùÁеÄĿ¼Ï£¬ËÑË÷³ö¿É¹²ÏíµÄ¶¯Ì¬Á´½Ó¿â£¨¸ñʽÈçǰ½éÉÜ£¬lib*.so*£©£¬½ø¶ø´´½¨³ö¶¯Ì¬×°È ......

Linuxϰ²×°ÅäÖÃAndroid¿ª·¢»·¾³

×ªÔØ  android sdk 1.5 °²×°ÓëÅäÖÃ
²Î¿¼  ubuntu 8.10 °²×° Android
1.ÏÂÔØandroid sdk
ÏÂÔØµØÖ·ÈçÏ£º
http://dl.google.com/android/android-sdk-windows-1.5_r2.zip
http://dl.google.com/android/android-sdk-linux_x86-1.5_r2.zip
2.
ÏÂÔØeclipse 3.4.2
 °´¹Ù·½ÎĵµËµ£¬android sdk ¿ÉÒÔÔËÐÐÔÚ ......

ÕÆÎÕLinux±à³ÌµÄ10¸ö²½Öè

×ölinux cÓïÑÔ¿ª·¢ÓÐһСÕó×ÓÁË£¬ÔÚÕâ±ß×Ô¼º×ܽáÁËЩÐĵã¬ÏàÐÅÄÜÈò»¶®µÃLinux±à³ÌµÄÈËÂýÂý²½ÈëLinuxµîÌá£ÓÐÈκβ»¶Ô»ò²»×¼È·Ö®´¦»¶Ó­ÌÖÂÛ¡£
1. °²×° linux ²Ù×÷ϵͳ
¼ÈȻҪѧϰlinuxϵÄcÓïÑÔ¿ª·¢£¬ÄÇô°²×°¸ölinux²Ù×÷ϵͳÊDZØÐëµÄ¡£½¨Òé°²×°Ubuntu£¬ÕâÊÇÎÒĿǰ¼û¹ý½çÃæ×îÓѺõÄlinux²Ù×÷ϵͳÁË¡£¹ØÓÚÈçºÎʹÓÃUbuntuÒ ......

linux Çý¶¯¼ÓÔØ²âÊÔÃüÁî

#insmod ./driver_xx.ko
´Ëʱ#cat /proc/devices ÄÜ¿´µ½ driver_xx É豸
#mknod /dev/mygpio c 230 0 (230ÊÇÖ÷É豸ºÅ£¬0ÊÇ×ÓÉ豸ºÅ£©
{ÕâÀï¿ÉÒÔÐÞ¸ÄÉ豸Ãû³Æ,µ«ÊÇÒªºÍ²âÊÔ³ÌÐòÖÐÒ»Ö fd_pio = open(“/dev/mygpio”, O_RDWR);
×îºÃºÍregister_chrdev(MY_PIO_MAJOR, "mygpio", &my_pio_fops)ÖеÄÒ»ÖÂ}
ʹ ......

»ñÈ¡linuxµÄÎļþϵͳÏà¹ØÐÅÏ¢µÄ֪ʶµã


ÔÚ struct mntent ÖеijÉÔ±Óë /etc/fstab ÎļþÖеÄÌõÄ¿ÊÇÖ±½Ó¶ÔÓ¦µÄ¡£ËüµÄÄÚÈÝÈçÏ£º
struct mntent {
char *mnt_fsname; /* ¹ÒÔØµÄÎļþϵͳµÄÃû×Ö */
char *mnt_dir; /* ¹ÒÔØµã */
char *mnt_type; /* ÎļþϵͳÀàÐÍ£ºufs¡¢nfs µÈ */
char *mnt_opts; /* Ñ¡ÏÒÔ¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ