如果对某个socket正在发送数据。在发的同时我slosesocket,会有问题吗

zjfhgdx 2011-09-12 12:51:06
RT
...全文
82 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
smwhotjay 2011-09-14
  • 打赏
  • 举报
回复
我确切的告诉你没问题。只要你sock没设置特殊的选项。比如linger. 你closesocket并不会立即断开。他会把sock发送缓冲区都发送对方后才断开,接收缓冲区也是.
wxw999 2011-09-14
  • 打赏
  • 举报
回复
我做过类似的测试,套接字可以设置成延迟关闭,等本次数据读写完毕后,再关闭。

就是要随时关闭,也不会有问题
shenyi0106 2011-09-14
  • 打赏
  • 举报
回复
不会的,closesocket关闭时,也是通过tcp协议栈去发送消息的,需要四次握手,如果你真在发送数据,那么你的这个关闭握手消息是发送不出去的,必须等到协议栈空了,它才会给你发送,也就是说,在收到关闭前,你的数据是已经传递给你了(你接受错误不在此考虑范围内)
sxcong 2011-09-14
  • 打赏
  • 举报
回复
对方可能收不全数据,也就是recv时返回值为负。
发送方没什么影响
rendao0563 2011-09-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zjfhgdx 的回复:]

楼上的可能理解错的我意思了,我的意思是,已经提交给OS的。这一部分不是由我来控制的了。
[/Quote]

套接字选项应该是你来设置的.
saiyaman5 2011-09-14
  • 打赏
  • 举报
回复
我也有此疑问
zjfhgdx 2011-09-12
  • 打赏
  • 举报
回复
楼上的可能理解错的我意思了,我的意思是,已经提交给OS的。这一部分不是由我来控制的了。
oyljerry 2011-09-12
  • 打赏
  • 举报
回复
这个行为取决于你的socket实现等。
czw9006 2011-09-12
  • 打赏
  • 举报
回复
不会有问题,
mfc基于消息,会先处理完发送的数据后
再处理closesocket消息
拙见~~

18,356

社区成员

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

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