19,502
社区成员
发帖
与我相关
我的任务
分享
m_lisSocket = socket(AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM);
if (m_lisSocket == INVALID_SOCKET)
{
MessageBox((TEXT("Create Socket error")));
}
SOCKADDR_BTH sa;
memset (&sa, 0, sizeof(sa));
unsigned char channel = 1;
sa.addressFamily = AF_BTH;
sa.port = channel & 0xff;
if (bind (m_lisSocket, (SOCKADDR *)&sa, sizeof(sa)))
{
//Perform error handling
closesocket (m_lisSocket);
MessageBox((TEXT("bind Socket error")));
return ;
}
int namelen = sizeof(sa);
if (getsockname(m_lisSocket, (SOCKADDR *)&sa, &namelen)) {
MessageBox((TEXT("getsockname Socket error")));
closesocket (m_lisSocket);
return ;
}
if (listen (m_lisSocket, 5))
{
//Perform error handling
closesocket (m_lisSocket);
MessageBox((TEXT("listen Socket error")));
return ;
}
SOCKADDR_BTH sa2;
int size = sizeof(sa2);
SOCKET s2 = accept (m_lisSocket, (SOCKADDR *)&sa2, &size);
UpdateData(TRUE);
UCHAR channel = 1;
SOCKET client_socket = socket (AF_BT, SOCK_STREAM, BTHPROTO_RFCOMM);
if (client_socket == INVALID_SOCKET)
{
MessageBox((TEXT("Create Socket error")));
}
SOCKADDR_BTH sa;
memset (&sa, 0, sizeof(sa));
sa.btAddr = m_btaddr[m_edit_connect_index]; //b is a BT_ADDR variable
sa.port = channel & 0xff;
if (connect (client_socket, (SOCKADDR *)&sa, sizeof(sa)))
{
//Perform error handling.
RETAILMSG(1, (TEXT("error = %d\r\n"), WSAGetLastError()));
closesocket (client_socket);
MessageBox((TEXT("connect Socket error")));
return ;
}