为了账号安全,请及时绑定邮箱和手机立即绑定

如果closesocket()函数出现异常该怎么办?

如果closesocket()函数出现异常该怎么办?

慕容3067478 2021-10-19 17:15:36
我定义了全局变量CSocket s;在关闭对话框onclose()函数中调用closesocket(s)出现异常,是不是跟定义了全局变量有关系,谢谢
查看完整描述

2 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

建议在调用closesocket()函数前判读你所要关闭的socket是否存在(可能创建时就失败,或者中间已经关闭此socket)
if(s!=INVALID_SOCKET)
closesocket(s);
用GetLastError()函数的返回值判断下是什么错误所产生的异常,用msdn查下closesock的函数返回值,下面有异常的类型

查看完整回答
反对 回复 2021-10-24
?
茅侃侃

TA贡献1842条经验 获得超21个赞

你既然用的CSocket来定义 s,就不能用 closesocket来关闭s,而要用CSocket自己的成员函数Close来关闭。
CSocket是封装后的类,对它你不能再用底层的socket接口,比如
closesocket, 要用closesocket来关闭 SOCKET类型的,你就必须用 socket() 函数产生的socket,而不能用 CSocket类。

查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 627 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信