新手求助,socket Unable to create socket-CSDN论坛
1个回答
展开全部
首先,楼主要知道,如果服务器端没有开启,即服务器没有调用listen&accept,对connect的调用会导致这个函数一直不会返回(当然最终会返回,默认时间很长),但楼主是在OnTimer中调用connect的,WM_TIMER设为1秒是不合理的。
可以这样做对话框初始化设置SetTimer;
到时后,调用OnTimer,在OnTimer中先杀死Timer,然后再创建新的线程进行socket的处理,最后如果connect返回失败,可以在线程返回前再次SetTimer,这样做比较好。
另外,考虑到在新线程中的connect时,可能会关闭对话框,因此应该在OnClose中进行一些处理,如closesocket,这样可以强迫connect返回。这样可以使窗口被关闭后进程得体的被终止。
可以这样做对话框初始化设置SetTimer;
到时后,调用OnTimer,在OnTimer中先杀死Timer,然后再创建新的线程进行socket的处理,最后如果connect返回失败,可以在线程返回前再次SetTimer,这样做比较好。
另外,考虑到在新线程中的connect时,可能会关闭对话框,因此应该在OnClose中进行一些处理,如closesocket,这样可以强迫connect返回。这样可以使窗口被关闭后进程得体的被终止。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询