急急急!蓝牙传输,请大家帮忙!

河北三哥 2008-10-08 10:22:14
在蓝牙建立socket连接是总是失败,不知是那写的不对,请大家帮忙看看!也不是每次都连接失败,也有连接成功的时候,好像配对过的再连接接失败了,代码如下:
BT_Info *pBtInfo = NULL;
ULONGLONG ulBTAddr;
BOOL bRet = FALSE;
int nRet;

if(!m_BtMap.Lookup(m_sCurSelDevName,(void*&)pBtInfo))
{
m_nErrNo = SELECT_DEVICE_ERROR;
return FALSE;
}
memcpy(&ulBTAddr,&pBtInfo->btInfo.Address.ullLong,sizeof(pBtInfo->btInfo.Address.ullLong));
SOCKET btSocket = socket(AF_BTH,SOCK_STREAM,BTHPROTO_RFCOMM);
if(btSocket == INVALID_SOCKET)
{
PrintLastError();
return FALSE;
}

unsigned int channel=1;
// GUID btguid_obex = {0x00000008, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB};
GUID obex_objectpush = {0x00001105, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB};
SOCKADDR_BTH btDevAddr = {0};
btDevAddr.addressFamily = AF_BTH;
btDevAddr.btAddr = ulBTAddr;
btDevAddr.serviceClassId = obex_objectpush;
btDevAddr.port = channel & 0xff;

nRet = connect(btSocket,(SOCKADDR*)&btDevAddr,sizeof(btDevAddr));//再建立连接是返回-1或者其他错误
if(nRet != 0)
{
PrintLastError();
return FALSE;
}
m_obex.SetSocket(btSocket);
return m_obex.Connect();
...全文
54 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
河北三哥 2008-10-09
  • 打赏
  • 举报
回复
找到问题了

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧