现在的位置: 首页 > 综合 > 正文

socket 10038错误

2018年03月15日 ⁄ 综合 ⁄ 共 308字 ⁄ 字号 评论关闭

最近编写服务器程序,游戏服经常与登录服莫名其妙的断开,错误码10038(无效的套接字),而这个套接字是在程序启动的时候创建并连接的,并没有关闭掉。

网上搜索看了这篇文章,顿时明白。http://hi.baidu.com/gensoft/item/716dc9cd59dd817aced4f81b

原因是windows套接字不能被关闭多次。而游戏服在客户端连接的套接字上关闭多次,导致与登录服务器连接套接字无效。

安全的关闭套接字的做法:

//防止socket被关闭多次
if(_socket!=INVALID_SOCKET)
{
closesocket(_socket);
_socket = INVALID_SOCKET;
}

以备后忘。

抱歉!评论已关闭.