LinuxÖпͻ§¶ËÏò·þÎñ¶Ë¶Áȡʱ¼äµÄ¼òµ¥ÊµÏÖ
¿Í»§¶ËµÄÁ¬½ÓµÄÖ÷Òª²½ÖèÓгõʼ»¯Ì×½Ó×Ö(socket)£¬Á¬½Ó·þÎñ¶Ë(connect)£¬½ÓÊÕ/·¢ËÍ(send/recv)£¬¹Ø±Õ(close)µÈ¡£
·þÎñ¶ËµÄÁ¬½ÓµÄÖ÷Òª²½ÖèÓгõʼ»¯Ì×½Ó×Ö(socket)£¬°î¶¨(bind)£¬¼àÌý(listen)£¬½ÓÊÕ/·¢ËÍ(send/recv)£¬¹Ø±Õ(close)µÈ¡£
ÓÉÓÚÔÚLinuxÖÐËùÓÐÉ豸¶¼¿ÉÒÔ¿´×÷Îļþ£¬½ÓÊÕ/·¢ËÍ(send/recv)Ò²¿ÉÒÔÓÃwrite/readÀ´´úÌæ¡£
ÏÂÃæÊÇ·þÎñ¶Ëservice.cµÄ´úÂ룺
#include <stdio.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <netdb.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#define HOSTNAMELEN 40 //Ö÷»úÃû³¤¶È
#define BUFLEN 1024
#define PORT 13000 //¶Ë¿Ú
int main(int argc, char *argv[])
{
int rc;
int s1;
int sockfd;
char buf[BUFLEN+1];
char* pc;
struct sockaddr_in local;
struct hostent* hen;
//Ö÷»ú
hen = gethostbyname("127.0.0.1");
if (!hen)
{
perror("couldn't resolve host name");
exit(1);
}
//³õʼ»¯
memset(&local, 0, sizeof(local));
local.sin_family = AF_INET;
local.sin_port = htons(PORT);
memcpy(&local.sin_addr.s_addr, hen->h_addr_list[0], hen->h_length);
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0)
{
perror("socket() failed");
exit(1);
}
//°î¶¨
rc = bind(sockfd,(struct sockaddr *)&local,sizeof(local));
if (rc<0)
{
perror("bind() failed");
exit (1);
}
//¼àÌý
rc=listen(sockfd,5);
if (rc)
{
perror("listen() failed");
exit(1);
}
//½ÓÊÕ
s1=accept(sockfd,NULL,NULL);
if(s1<0)
{
perror("accpet() failed");
exit(1);
}
//È¡µÃʱ¼ä
time_t ti;
ti=time(NULL);
char str[100];
sprintf(str,ct
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ÀýÒ»£º·¢ËÍ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 ......
1. ÏÂÔØÄÚºËÔ´ÂëµÄѹËõ°ü linux-2.6.30.5.tar.bz2£¬ÓÐ56MB´óС
2. ½âѹ³öÀ´ºóÕâ¸öÄÚºËÔ´ÂëµÄÎļþ¼Ðlinux-2.6.30.5£¬ÓÐ332MB´óС
3. ²é¿´±àÒëËùÐèµÄ×îа汾µÄÈí¼þÒÀÀµµÄ»°£¬ÔÚDocumentation/ChangesÎļþÀï
4. make mrproper
È·±£ÄÚºËÔ´ÎļþÖÐûÓоɵÄ.oÎļþÓëÒÀÀµ¹ØÏµ
5 ......
ǰ ÑÔ
LinuxÊÇÒ»ÖÖ¿ª·ÅÔ´´úÂëµÄ×ÔÓɲÙ×÷ϵͳ¡£×ÔËüµ®ÉúÒÔÀ´£¬ÔÚÈ«ÊÀ½çLinux°®ºÃÕߵĹ²Í¬Å¬Á¦Ï£¬ÆäÐÔÄܲ»¶ÏÍêÉÆ£¬¾ßÓÐÎȶ¨¡¢°²È«¡¢ÍøÂç¸ºÔØÁ¦Ç¿¡¢Õ¼ÓÃÓ²¼þ×ÊÔ´Éٵȼ¼ÊõÌØµã£¬µÃµ½ÁËѸËÙÍÆ¹ãºÍÓ¦Óá£ËüÒÑ·¢Õ¹³ÉΪµ±½ñÊÀ½çµÄÖ÷Á÷²Ù×÷ϵͳ֮һ¡£
³ýÁË×÷Ϊ×ÀÃæÏµÍ³Ê¹ÓÃÍ⣬LinuxÔÚ·þÎñÆ÷ÁìÓò¸üÊǵõ½Á˹㷺 ......
1.make & Makefile µÄ»ù±¾Ó÷¨£º
Ò»¸ö³ÌÐòÓÉprint.cºÍmain.cÁ½¸öÔ´Îļþ¹¹³É£¬³ÌÐòµÄ¹¦ÄÜÊÇmain.cÖеÄmainº¯Êýµ÷ÓÃprint.cÖж¨ÒåµÄprintº¯Êý¡£
(1)»ù±¾µÄ±àÒëÁ´½Ó£º
# cc -c main.c //±àÒëma ......