首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

服务器端动态创建socket,关闭错误

2013-10-24 
服务器端动态创建socket,关闭异常MFC中new的socket,客户端关闭以后,使用shutdown(),closesocket()关闭,然

服务器端动态创建socket,关闭异常
MFC中new的socket,客户端关闭以后,使用shutdown(),closesocket()关闭,然后delete掉创建的socket,但是程序在closesocket()处偶尔会有异常,提示内存异常。有时候也不会崩,求解,可以不用closesocket直接delete吗 服务器 socket 内存
[解决办法]
closesocket的时候,看看参数是不是非法了?有没有使用多线程,是不是close之前已经被delete了?
[解决办法]
closesocket不能省

引用
建议的最好的关闭方式是这样的:

发送完了所有数据后:

(1)调用shutdown(s, SD_SEND),如果本端同时也接收数据时则执行第二步,否则跳到第4步。

(2)继续接收数据,

(3)收到FD_CLOSE事件后,调用recv函数直到recv返回0或-1(保证收到所有数据),

(4)调用closesocket,关闭socket句柄。

closesocket的时候,是不是另一端还在接收?

热点排行