WinCE:连接期间出现 10053 错误

Posted

技术标签:

【中文标题】WinCE:连接期间出现 10053 错误【英文标题】:WinCE: 10053 error during connect 【发布时间】:2011-11-11 22:20:57 【问题描述】:

我为 wince 4.2 设备编写了一个蓝牙客户端程序。设备发现工作正常。但是,当我尝试连接到 PC 时,连接函数会立即返回错误代码 10053。 PC 正在处理连接请求,并提示输入验证码,但 wince 设备似乎没有等待。

什么可能导致此问题?我正在使用以下步骤(为简单起见删除了错误处理):

WSAStartup(..)…////was successful.

SOCKET m_Socket =Socket (AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM); //was successful.

SOCKADDR_BTH sClinet;
memset (&sClinet, 0, sizeof(sClinet));
sClinet.addressFamily = AF_BTH;
sClinet.btAddr = btd.btaddr; ; //BT_ADDR of the PC obtained via Device Discovery..
sClinet.port = BT_PORT_ANY; //I did try 0, did not help!
sClinet.serviceClassId = RFCOMM_PROTOCOL_UUID; 

int nConErr = connect (m_Socket, (SOCKADDR *)&sClinet, sizeof(sClinet));

nConErr 立即返回10053。即使 PC 识别出连接并提示输入 PIN 以进行身份​​验证,它甚至都不会等待。

【问题讨论】:

【参考方案1】:

根据您的描述,这似乎是一个配对/身份验证问题。您还应该考虑使用 setsockopt 函数:http://msdn.microsoft.com/en-us/library/ms863347.aspx

您应该尝试使用 SO_BTH_AUTHENTICATE 根据 MSDN 的选项:

在连接的套接字上,触发身份验证。在未连接的套接字上,强制连接身份验证。对于传入连接,这意味着如果无法执行身份验证,连接将被拒绝。

所以在调用connect 函数之前,您应该为您的套接字设置选项。

【讨论】:

以上是关于WinCE:连接期间出现 10053 错误的主要内容,如果未能解决你的问题,请参考以下文章

Django:错误:[Errno 10053] 已建立的连接被主机中的软件中止

Linux Xshell连接服务器时报错Socket error Event: 32 Error: 10053

系统错误 10053您主机中的软件放弃了一个已建立的连接怎么解决

带有重复 AJAX 调用的 Django 关闭套接字错误 [WinError 10053] 已建立的连接被主机中的软件中止

ActiveSync 在 Win7(32位) 与 WinCE7 之间使用出现的问题

ssh连接:Socket error Event: 32 Error: 10053.