我定義了全局變量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 關注
- 704 瀏覽
添加回答
舉報
0/150
提交
取消