我定义了全局变量CSocket s;在关闭对话框onclose()函数中调用closesocket(s)出现异常,是不是跟定义了全局变量有关系,谢谢
2 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
建议在调用closesocket()函数前判读你所要关闭的socket是否存在(可能创建时就失败,或者中间已经关闭此socket)
if(s!=INVALID_SOCKET)
closesocket(s);
用GetLastError()函数的返回值判断下是什么错误所产生的异常,用msdn查下closesock的函数返回值,下面有异常的类型
茅侃侃
TA贡献1842条经验 获得超21个赞
你既然用的CSocket来定义 s,就不能用 closesocket来关闭s,而要用CSocket自己的成员函数Close来关闭。
CSocket是封装后的类,对它你不能再用底层的socket接口,比如
closesocket, 要用closesocket来关闭 SOCKET类型的,你就必须用 socket() 函数产生的socket,而不能用 CSocket类。
- 2 回答
- 0 关注
- 627 浏览
添加回答
举报
0/150
提交
取消