select但不接收,直接closesocket

dream0411 2013-01-09 06:59:16
如题,我有一个模拟ping的程序,有疑问的一部分过程是:

使用ICMP协议,sendto数据后,select返回有数据可读,然后直接closesocket。

问题:调用这段程序跑数小时后,会造成死机,对于上面列出的这段,我不太清楚直接closesocket但未接收回应数据,是否能确保清理干净呢?
...全文
245 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Squall_zy 2013-01-10
  • 打赏
  • 举报
回复
如果没有错误发生,gethostbyname()返回如上所述的一个指向hostent结构的指针,否则,返回一个空指针。应用程序可以通过WSAGetLastError()来得到一个特定的错误代码。 判断返回值。
这不是鸭头 2013-01-10
  • 打赏
  • 举报
回复
指针异常?
dream0411 2013-01-10
  • 打赏
  • 举报
回复
引用 4 楼 Squall_zy 的回复:
如果没有错误发生,gethostbyname()返回如上所述的一个指向hostent结构的指针,否则,返回一个空指针。应用程序可以通过WSAGetLastError()来得到一个特定的错误代码。 判断返回值。
我的情况是死机发生在该函数内部,已经不返回了
dream0411 2013-01-09
  • 打赏
  • 举报
回复
引用 2 楼 tiger9991 的回复:
输出下日志,把内存,缓冲区等数据打印出来。看看死机的时候机器性能如何,再下结论
测试过几次,崩溃时的CPU和内存占用都不高,几次死机都在gethostbyname中。我想问的时,你说输出内存、缓冲区是指哪些?我的发送数据么?
傻X 2013-01-09
  • 打赏
  • 举报
回复
输出下日志,把内存,缓冲区等数据打印出来。看看死机的时候机器性能如何,再下结论
Eleven 2013-01-09
  • 打赏
  • 举报
回复
直接closesocket应该是没有问题的。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧