Linuxϵͳ»·¾³ÏµÄSocket±à³ÌÏêϸ½âÎö
ʲôÊÇSocket
Socket½Ó¿ÚÊÇTCP/IPÍøÂçµÄAPI£¬Socket½Ó¿Ú¶¨ÒåÁËÐí¶àº¯Êý»òÀý³Ì£¬³ÌÐòÔ±¿ÉÒÔÓÃËüÃÇÀ´¿ª·¢TCP/IPÍøÂçÉϵÄÓ¦ÓóÌÐò¡£ÒªÑ§InternetÉϵÄTCP/IPÍøÂç±à³Ì£¬±ØÐëÀí½âSocket½Ó¿Ú¡£
Socket½Ó¿ÚÉè¼ÆÕß×îÏÈÊǽ«½Ó¿Ú·ÅÔÚUnix²Ù×÷ϵͳÀïÃæµÄ¡£Èç¹ûÁ˽âUnix
ϵͳµÄÊäÈëºÍÊä³öµÄ»°£¬¾ÍºÜÈÝÒ×Á˽âSocketÁË¡£ÍøÂçµÄSocketÊý¾Ý´«ÊäÊÇÒ»ÖÖÌØÊâµÄI/O£¬SocketÒ²ÊÇÒ»ÖÖÎļþÃèÊö·û¡£SocketÒ²¾ß
ÓÐÒ»¸öÀàËÆÓÚ´ò¿ªÎļþµÄº¯Êýµ÷ÓÃSocket()£¬¸Ãº¯Êý·µ»ØÒ»¸öÕûÐ͵ÄSocketÃèÊö·û£¬ËæºóµÄÁ¬½Ó½¨Á¢¡¢Êý¾Ý´«ÊäµÈ²Ù×÷¶¼ÊÇͨ¹ý¸ÃSocketʵÏÖ
µÄ¡£³£ÓõÄSocketÀàÐÍÓÐÁ½ÖÖ£ºÁ÷ʽSocket£¨SOCK_STREAM£©ºÍÊý¾Ý±¨Ê½Socket£¨SOCK_DGRAM£©¡£Á÷ʽÊÇÒ»ÖÖÃæÏòÁ¬½ÓµÄ
Socket£¬Õë¶ÔÓÚÃæÏòÁ¬½ÓµÄTCP·þÎñÓ¦Óã»Êý¾Ý±¨Ê½SocketÊÇÒ»ÖÖÎÞÁ¬½ÓµÄSocket£¬¶ÔÓ¦ÓÚÎÞÁ¬½ÓµÄUDP·þÎñÓ¦Óá£
Socket½¨Á¢
ΪÁ˽¨Á¢Socket£¬³ÌÐò¿ÉÒÔµ÷ÓÃSocketº¯Êý£¬¸Ãº¯Êý·µ»ØÒ»¸öÀàËÆÓÚÎļþÃèÊö·ûµÄ¾ä±ú¡£socketº¯ÊýÔÐÍΪ£º
int socket(int domain, int type, int protocol);
domainÖ¸Ã÷ËùʹÓõÄÐÒé×壬ͨ³£ÎªPF_INET£¬±íʾ»¥ÁªÍøÐÒé×å
£¨TCP/IPÐÒé×壩£»type²ÎÊýÖ¸¶¨socketµÄÀàÐÍ£ºSOCK_STREAM
»òSOCK_DGRAM£¬Socket½Ó¿Ú»¹¶¨ÒåÁËÔʼSocket£¨SOCK_RAW£©£¬ÔÊÐí³ÌÐòʹÓõͲãÐÒ飻protocolͨ³£¸³Öµ"0"¡£
Socket()µ÷Ó÷µ»ØÒ»¸öÕûÐÍsocketÃèÊö·û£¬Äã¿ÉÒÔÔÚºóÃæµÄµ÷ÓÃʹÓÃËü¡£
SocketÃèÊö·ûÊÇÒ»¸öÖ¸ÏòÄÚ²¿Êý¾Ý½á¹¹µÄÖ¸Õ룬ËüÖ¸ÏòÃèÊö·û±íÈë¿Ú¡£µ÷ÓÃSocketº¯Êýʱ£¬socketÖ´ÐÐÌ彫½¨Á¢Ò»¸öSocket£¬Êµ¼ÊÉÏ"½¨Á¢Ò»¸öSocket"Òâζ×ÅΪһ¸öSocketÊý¾Ý½á¹¹·ÖÅä´æ´¢¿Õ¼ä¡£
SocketÖ´ÐÐÌåΪÄã¹ÜÀíÃèÊö·û±í¡£
Á½¸öÍøÂç³ÌÐòÖ®¼äµÄÒ»¸öÍøÂçÁ¬½Ó°üÀ¨ÎåÖÖÐÅÏ¢£ºÍ¨ÐÅÐÒé¡¢±¾µØÐÒ鵨ַ¡¢±¾µØÖ÷»ú¶Ë¿Ú¡¢Ô¶¶ËÖ÷»úµØÖ·ºÍÔ¶¶ËÐÒé¶Ë¿Ú¡£SocketÊý¾Ý½á¹¹Öаüº¬ÕâÎåÖÖÐÅÏ¢¡£
SocketÅäÖÃ
ͨ¹ýsocketµ÷Ó÷µ»ØÒ»¸ösocketÃèÊö·ûºó£¬ÔÚʹÓÃsocket½øÐÐÍøÂç´«
ÊäÒÔǰ£¬±ØÐëÅäÖøÃsocket¡£ÃæÏòÁ¬½ÓµÄsocket¿Í»§¶Ëͨ¹ýµ÷ÓÃConnectº¯ÊýÔÚsocketÊý¾Ý½á¹¹Öб£´æ±¾µØºÍÔ¶¶ËÐÅÏ¢¡£ÎÞÁ¬½Ó
socketµÄ¿Í»§¶ËºÍ·þÎñ¶ËÒÔ¼°ÃæÏòÁ¬½ÓsocketµÄ·þÎñ¶Ëͨ¹ýµ÷ÓÃbindº¯ÊýÀ´ÅäÖñ¾µØÐÅÏ¢¡£
Bindº¯Êý½«socketÓë±¾»úÉϵÄÒ»¸ö¶Ë¿ÚÏà¹ØÁª£¬ËæºóÄã¾Í¿ÉÒÔÔڸö˿ڼàÌý·þÎñÇëÇó¡£Bindº¯ÊýÔÐÍΪ£º
int bind(int soc
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
¹ÒÔØÁËÒ»¸önewÓ²ÅÌ£¬½á¹ûûÓÐɶÓô¦£¬¿ÉÄܵ±Ê±ÔÚfstabÀïÒ²Ôö¼ÓÁË¿ª»ú¹ÒÔØµÄÑ¡Ôñ¡£Ã»ÓÐ×¢Ò⣬ÓÐÒ»Ìì¾Í°Ñºó¼ÓµÄhard¸ñʽ»¯µôÁË¡£²»Ð¡
ÐÄrebootµÄʱºòÁ¬²»ÉÏÁË¡£µ½»ú·¿Ò»¿´£¬³öÏÖ´íÎó£ºfsck ûÓз¢ÏÖ/dev/sdb1 ²»ÄÜÖ´ÐÐÏÂÈ¥¡£È»ºóÈÃÎÒ½øÈëÒ»¸öÎļþÐÞ¸´¹ý³Ì£º
An error occurred during the file system check ...&nb ......
Ö´ÐÐÏÂÁдúÂ룬²»ÐèҪȫִÐУ¬ÈÎÒâÒ»ÐоͿÉÒÔÁË¡£
setterm -bleng 0
setterm -blength 0
xset b off
===========
ÏÂÃæÁíÒ»ÖÖ·½·¨
ÁÙʱµÄ·½°¸
sudo rmmod pcspkr
¶ÔÓÚDebian/UbuntuµÄÓû§À´Ëµ£¬Ö»Òª´ò¿ªÄãµÄÖÕ¶ËÅÜÒ»ÏÂÉÏÊöµÄÃüÁî¾Í¿ÉÒÔÁË¡£¶ÔÓÚCentOS/Redhat/RHEL/FedoraµÄLinuxÓû§£¬ÔòÐèÒªÒÔrootÉí·ÝµÇ¼Ȼº ......
µÚÒ»ÕÂ ÒÆÖ²ÄÚºË
1.1 LinuxÄں˻ù´¡ÖªÊ¶
ÔÚ¶¯ÊÖ½øÐÐLinuxÄÚºËÒÆÖ²Ö®Ç°£¬·Ç³£ÓбØÒª¶ÔLinuxÄں˽øÐÐÒ»¶¨µÄÁ˽⣬ÏÂÃæ´ÓLinuxÄں˵İ汾ºÍ·ÖÀà˵Æð¡£
1.1.1 Linux°æ±¾
LinuxÄں˵İ汾ºÅ¿ÉÒÔ´ÓÔ´´úÂëµÄ¶¥²ãĿ¼ÏµÄMakefileÖп´µ½£¬±ÈÈç2.6.29.1Äں˵ÄMakefileÖУº
VERSION = 2
PATCHLEVEL = 6
......