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

linuxÍøÂç±à³Ì

 ÍøÂç³ÌÐòºÍÆÕͨ³ÌÐò×î´óµÄÇø±ð¾ÍÊÇ,ÍøÂç³ÌÐòÊÇÓÉÁ½²¿·Ö×é³ÉµÄ--server/client.Ò»°ãÇé¿öÏÂ,ÊÇÏÈÔËÐÐserver¶ËÉϵijÌÐò,È»ºóµÈ´ýclient¶ËÉϵijÌÐòÔËÐв¢½¨Á¢Á¬½Ó,server¶ËÉϵijÌÐòÔÚÒ»¸ö¶Ë¿Ú¼àÌý,µÈ´ýclient¶Ë·¢À´µÄÇëÇó.
int socket(int domain,int type,int protocol)
domain:˵Ã÷ͨѶ³ÌÐòËùÔÚÖ÷»úËù²ÉÓõÄͨѶЭÒéÀà(AF_INETºÍAF_UNIXµÈ);AF_UNIXÖ»ÄÜÓÃÓÚµ¥Ò»µÄUNIXϵͳ½ø³Ì¼äͨѶ,AF_INETÊÇÕë¶ÔinternetµÄ,¿ÉÒÔÓÃÓÚÔ¶³ÌÖ÷»ú¼äµÄͨѶ;
type:ÍøÂç³ÌÐòËù²ÉÈ¡µÄͨѶЭÒé(SOCK_STREAMºÍSOCK_DGRAM);
protocl:Ëù²ÉÈ¡µÄЭÒé,Ò»°ãÉèÖÃΪ0¾Í¿ÉÒÔÁË,Ö÷»ú»á×Ô¶¯Ñ¡ÔñºÏÊʵÄЭÒé.
int bind(int sockfd,struct sockaddr * myaddr,int addrlen)
sockfd:ÊÇsocketµÄ·µ»ØµÄÎļþÃèÊö·û,ÓÃÓÚ¼àÌýµÄsocket;
addrlen:ÊÇsockaddr½á¹¹µÄ³¤¶È;
myaddr:ÊÇÒ»¸öÖ¸ÏòsockaddrµÄ½á¹¹ÌåµÄÖ¸Õë;
¶ÔÓÚsockaddr½á¹¹ÌåµÄ¶¨Òå:
struct sockaddr
{
    unsigned short as_family;
    char as_data[14];
}
ÓÉÓÚϵͳµÄ¼æÈÝÐÔ,ÓÃÁíÍâÒ»¸ö½á¹¹ÌåÌæ´ú,sockaddr_in:
struct sockaddr_in
{
   unsigned short sin_family;
   unsigned short sin_port;
   struct in_addr sin_addr;
   unsigned char sin_zero[8];
}
sin_addrÒ»°ãÊÇÉèÖÃΪINADDR_ANY,¿ÉÒÔ½ÓÊÜÈκÎÖ÷»úµÄͨѶ,sin_portÊÇÒª¼àÌýµÄ¶Ë¿Ú,bind()½«±¾µØ¶Ë¿ÚºÍsocket°ó¶¨ÔÚÒ»Æð,³É¹¦ºó·µ»Ø0,ʧ°Üʱ·µ»Ø-1,ºÍsocket()Ò»Ñù.
int listen(int sockfd,int queuelen)
sockfd:bind()µÄsocketÃèÊö·û,ÓÃÓÚ¼àÌýµÄsocketÃèÊö·û;
queuelen:µÈºòÅŶӵÄ×î´ó³¤¶È.listen()½«bind()µÄsocketÃèÊö·û±äΪ¼àÌýµÄÌ×½Ó×Ö,·µ»ØµÄÇé¿öºÍbind()Ò»Ñù.
int accept(int sockfd,struct sockaddr * addr,int addrlen)
sockfd:ÊÇlistenºóµÄÎļþÃèÊö·û;
addrºÍaddrlen:ÊǸøclient¶Ë³ÌÐòÌîдµÄ,·þÎñÆ÷Ö»Òª´«µÝÖ¸Õë¾Í¿ÉÒÔÁË;
bind(),listen()ºÍaccept()ÊÇ·þÎñ¶ËÓõĺ¯Êý,accept()º¯Êýµ÷ÓÃʱ,server¶Ë»áÒ»Ö±×èÈûµ½ÓÐÒ»¸öclient·¢³öÁËÁ¬½ÓÇëÇó,accept()³É¹¦Ê±·µ»Ø×îºóµÄ·þÎñÆ÷¶ËµÄÎļþÃèÊö·û,ÏÖÔÚ·þÎñÆ÷¶Ë¿ÉÒÔÏò¸ÃÃèÊö·ûдÐÅÏ¢ÁË.ʧ°Üʱ·µ»Ø-1.
int connect(int sockfd,struct sockaddr *servaddr,int addrlen)
sockfd:socket()·µ»ØµÄÎļþÃèÊö·û;
servaddr:´æ´¢ÁËserver¶ËµÄÁ¬½ÓÐÅÏ¢,ÀïÃæµÄsin_familyÊÇ·þÎñÆ÷¶ËµÄµØÖ·
addrlen:servaddrµÄ³¤¶È;
connect()ÊÇ


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

linuxÏÂApacheÆô¶¯Ê§°ÜµÄһЩÌå»á

ÏµÍ³ÖØÆôºó·¢ÏÖ£¬ApacheÆô¶¯Ê§°Ü
±¨´íÈçÏ£º
# ./apachectl start
(98)Address already in use: make_sock: could not bind to address [::]:80
no listening sockets available, shutting down
Unable to open logs
²éÁËÏÂ80
#netstat -Inp|grep 80
tcp        0 &n ......

Linux³£ÓÃÃüÁî(»ù´¡)

1£®¹ØÓÚÎļþ/Ŀ¼´¦ÀíµÄÖ¸Áî
1.1  ls Ö¸Áî
lsµÄÒâÒåΪ“list”£¬Ò²¾ÍÊǽ«Ä³Ò»¸öĿ¼ÏµÄÄÚÈÝÏÔʾ³öÀ´¡£
lsÓÐһЩ²ÎÊý£¬¿ÉÒÔ¸øÓèʹÓÃÕ߸ü¶àÓйصÄ×ÊѶ£¬ÈçÏ£º
-a£ºÔÚlinuxÖÐÈôÒ»¸öĿ¼»òÎļþÃû×ֵĵÚÒ»¸ö×ÖԪΪ“.”£¬ÔòʹÓÃls½«²»»áÏÔʾ³öÕâ¸öÎļþµÄÃû×Ö£¬ÎÒÃdzƴËÀàÎļþΪÒþ²ØÎļþ¡£Èç¹ûÎÒà ......

linuxÉ豸Çý¶¯³ÌÐò——ÍøÂçÉ豸Çý¶¯³ÌÐò

LinuxµÄÍøÂçϵͳÖ÷ÒªÊÇ»ùÓÚBSD Unix µÄsocket»úÖÆ£¬ ·ÃÎÊÍøÂçÉ豸µÄÇý¶¯³ÌÐò²»ÐèҪʹÓÃÉ豸½Úµã¡£ÔÚϵͳºÍÇý¶¯³ÌÐòÖ®¼ä¶¨ÒåÓÐרÃŵÄÊý¾Ý½á¹¹£¨sk_buff£©½øÐÐÊý¾ÝµÄ´«µÝ¡£ÏµÍ³ÄÚ²¿Ö§³Ö¶Ô·¢ËÍÊý¾ÝºÍ½ÓÊÕÊý¾ÝµÄ»º´æ£¬ÌṩÁ÷Á¿¿ØÖÆ»úÖÆ£¬Ìṩ¶Ô¶àЭÒéµÄÖ§³Ö¡£Òò´Ë£¬Ñ¡ÔñÄĸöÇý¶¯³ÌÐòÊÇ»ùÓÚÄÚºËÄÚ²¿µÄÆäËû¾ö¶¨£¬¶ø²»Êǵ÷ÓÃopen() ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ