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

我定义了全局变量CSocket s;在关闭对话框onclose()函数中调用closesocket(s)出现异常,是不是跟定义了全局变量有关系,谢谢

慕容3067478
浏览 650回答 2
2回答

翻阅古今

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

茅侃侃

你既然用的CSocket来定义 s,就不能用 closesocket来关闭s,而要用CSocket自己的成员函数Close来关闭。CSocket是封装后的类,对它你不能再用底层的socket接口,比如closesocket, 要用closesocket来关闭 SOCKET类型的,你就必须用 socket() 函数产生的socket,而不能用 CSocket类。
打开App,查看更多内容
随时随地看视频慕课网APP