我试图通过使用setsockopt()API和设置时间设置为5秒的so_rcvtimeo选项来对套接字描述符上的recieve()调用进行超时。但是当我没有从服务器收到数据时,我的recieve()调用在5秒后没有超时。
我可能知道是否有任何设置要在Windows Mobile 5中启用以使其正常工作,或者是否有其他方法可以在Windows Mobile 5 / pocket pc中实现此功能
谢谢和问候
答案 0 :(得分:0)
MSDN documentation for setsocketopt
明确指出(在备注部分):
以下列表显示了 setsockopt 不支持的BSD选项。
SO_ACCEPTCONN
SO_RCVLOWAT
SO_RCVTIMEO < ---注意这一个
SO_SNDLOWAT
SO_SNDTIMEO
SO_TYPE
“解决方法”是在单独的线程上执行接收并在调用者中等待该线程,并使用超时中止生成的线程。