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] 已建立的连接被主机中的软件中止