蓝牙SPP的问题
以下是放在CE上用作服务器端的代码:
SOCKET s = socket (AF_BT, SOCK_STREAM, BTHPROTO_RFCOMM);
SOCKADDR_BTH sa;
memset (&sa, 0, sizeof(sa));
sa.addressFamily = AF_BT;
sa.port = 0;
sa.btAddr = 0x0017E832C318; //CE上蓝牙的地址
if (bind (s, (SOCKADDR *)&sa, sizeof(sa)))
{
wprintf (L"Bind failed, error = %d\n", WSAGetLastError ());
goto exit;
}
iLen = sizeof(sa);
if (SOCKET_ERROR == getsockname(s, (SOCKADDR*)&sa, &iLen))
{
wprintf (L"getsockname failed, error = %d\n", WSAGetLastError ());
goto exit;
}
// 注册SPP服务
if(BTSetSPPService((unsigned char)sa.port) == FALSE )
{
RETAILMSG(1,(L"BTAGSVC: Error adding SDP record. error code = %d \n",GetLastError()));
goto exit;
}
if (listen (s, 2))
{
wprintf (L"Listen failed, error = %d\n", WSAGetLastError ());
}
while(1)
{
sa2.addressFamily = AF_BT;
if(s == INVALID_SOCKET)
{
wprintf (L" socket S is invalid socket \n");
}
wprintf (L"wait for connect......! \n");
SPPDATABUF.sockClient = accept (s,(sockaddr *)&sa2, &size); // 一直都接收不到客户端的连接
.................
}
accept会一直被阻塞,接收不到连接。
从PC用蓝牙软件能发现CE上的蓝牙SPP服务,但双击连接时却会报“蓝牙服务不可用”的错误。
[解决办法]
蓝牙 还没弄过,
MARK,顶起,
我也学习下。
[解决办法]
即将要做这个事情。呵呵。
[解决办法]
一般都是直接控制蓝牙模块,还没有如此玩过蓝牙,顶一个
[解决办法]