📄 main.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/socket.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/rfcomm.h>
int main( int argc , char **argv)
{
struct sockaddr_rc loc_addr = { 0 }, rem_addr = { 0 };
char bufrecv[1024] = { 0 };
char bufsend[1024] = { 51265134643657jkgfkdfkfgkgfkdfkkdghkghkghkhgkghkhkh };
char bufaddr[1024] = { 0 };
int lensend;
char CfgFilePath[80];
char msg[1000];
int bluesendsize=512;
int socketblue, phoneclient, bytes_read, bytes_write=0;
socklen_t length_rem_addr = sizeof(rem_addr);
// allocate socket
socketblue = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
// bind socket to port 1 of the first available
// local bluetooth adapter
loc_addr.rc_family = AF_BLUETOOTH;
loc_addr.rc_bdaddr = *BDADDR_ANY;
loc_addr.rc_channel = (uint8_t) 1;
bind(socketblue , (struct sockaddr *)&loc_addr, sizeof(loc_addr));
// put socket into listening mode
listen(socketblue, 1);
printf("主进程在活动.............");
while(1)//
{
printf("开始接收蓝牙手机的链接等待..............................");
if ((phoneclient = accept(socketblue, (struct sockaddr *)&rem_addr, &length_rem_addr)) >0)
{
printf("蓝牙server: got connection socket %d ",phoneclient);
}
ba2str( &rem_addr.rc_bdaddr,bufaddr );
fprintf(stderr, "蓝牙接口accepted connection from %s\n", bufaddr);
// read data from the phoneclient
while(1){
printf("开始received \n");
bytes_read = recv(phoneclient, bufrecv, sizeof(bufrecv),0);
if( bytes_read > 0 ) {
printf("received [%s]\n", bufrecv);
//processPhoneMessage((unsigned char*)bufrecv, (unsigned char*)bufsend);
printf("需要发送给蓝牙手机的消息是 \n");
printf((unsigned char*)bufsend);
lensend=sizeof(bufsend);
while(lensend>0)
{
bytes_write =send(phoneclient, bufsend+bytes_write, bluesendsize,0);
if (bytes_write>0)
{
printfUINT32("发送成功 发送字节数为",bytes_write);
lensend=lensend-bytes_write;
}
else
{
printf("send 错误\n");
printf("关闭phoneclient\n");
close(phoneclient);
break;
}
}
}
else
{
printf("received 错误\n");
break;
}
}
printf("关闭phoneclient\n");
close(phoneclient);
}
close(socketblue);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -