socket 10038错误

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

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

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

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


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


以备后忘。

阅读更多
个人分类: C++ 游戏开发 windows
上一篇经典电影台词系列【5】——斯巴达克斯
下一篇手游行业的生死劫:创新还是山寨?
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭