关闭

socket 10038错误

标签: c++服务器socket游戏windows
694人阅读 评论(0) 收藏 举报
分类:

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

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

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

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


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


以备后忘。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:87014次
    • 积分:1534
    • 等级:
    • 排名:千里之外
    • 原创:58篇
    • 转载:36篇
    • 译文:6篇
    • 评论:9条
    文章分类
    最新评论