我试着用蓝牙在手机和电脑之间交换数据。我想用OBEX做这个。我读过文档和维基百科,并试图从设备1(计算机)发送以下包:
const char package[] =
/* Connect | 2B of length| OBEX Ver 1.0| Flag| Max Size */
0x80, 0x00, 0x07, 0x10, 0x00, 2048>>8, 2048&0xFF};我希望从设备2(手机)中得到某种反应,比如:
const char res[]={0xA0 .... } //0xA0 == Success 即使是一个错误也可能很好,但是我在recv(.)上被阻塞了。
它是在Windows上使用winsock实现的。我可以在这两者之间建立联系。不知怎么的,我不知道如何处理数据传输。我读过这个理论,但它让我失望了。
我就是这样收发的:
if (send(s, package, sizeof(package), 0) == SOCKET_ERROR)
{
auto error = WSAGetLastError();
if (error != WSAEWOULDBLOCK)
{
std::cout << "Unable to send packet ";
}
}
auto receiveByteCount = recv(s, buff, 1024, 0); // blocking 发布于 2021-03-04 13:57:03
PBAP描述为这里 (搜索PBAP)。这个链接是由@Mike 提供的,另一个有用的帖子可以找到这里。
https://stackoverflow.com/questions/66454638
复制相似问题