我现在正在使用C / C ++进行并发套接字编程。我只是让服务器接收来自客户端的请求并将响应数据包发送给客户端。我使用一个线程来接收来自客户端的请求。当服务器获得新请求时,将创建一个新线程以便向客户端发送一些数据包。但是,当我的服务器将数据包发送到该特定客户端时,我的客户端的recvfrom总是返回winsock错误10054。
答案 0 :(得分:1)
此错误消息表示udp端口已关闭,并且您正在关闭的端口上接收数据包。例如在voip phone中,客户端发送origport = 12295,说明请在此发送数据包并关闭工作端口32000 08:43:32.377 cip = 172.x.23.225 sip = 10.x.20.2 cport = 32000 sport = 32128 origport = 12295
但是如果服务器不理解这一点,你仍然从服务器收到32000的数据包,那么客户端将显示此错误消息
答案 1 :(得分:0)
根据this forum thread,这是一个无害的错误,你可以在客户端忽略它。