问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux socket 非阻塞模式编程,客户端连接断掉或者异常,为什么还能write成功,返回大于0?

发布网友 发布时间:2022-04-24 16:00

我来回答

2个回答

热心网友 时间:2023-10-21 03:23

客户端连接断掉,不见得会立即被网卡驱动检测到,数据只是存入本地的写缓冲区,不代表对端就收到了。

在系统实时性要求不高的情况下,可以采用心跳检测机制,客户端每秒钟发送一个KeepAlive消息给服务端,连续5s没收到服务端就可以认为连接断开了。追问如果实时性要求较高,这种情况该如何处理呢?如果发送的消息很重要,服务端发送成功,但客户端已经断了,无法收取数据,有什么更好的办法解决?而且我现在关闭了nagle算法,是TCP_NODELAY的,不应该缓存到本地的吧!

追答实时性高的话,中断方式总比轮询好很多。但我不是开发,没有更多的发言权。

热心网友 时间:2023-10-21 03:23

write应该会成功
如果是send的话,应该会失败吧追问为什么write会成功,send会失败呢?

追答我是新手,猜的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
青海摇什么时候火的 宋庄镇都有哪些村 唐山多地解除封控管理、静态管理,市民仍需做好哪些防护? 拼多多上面的旗舰店是正品吗 ...尺是20:1的图纸上,应画多少厘米,在比例尺是1:200的图纸上测_百度知... 4x2=8,4x20=8,4x200=800,我发现了:一个因数不变,另外一个因数乘以几,积... 小学三年级数学上册4X2=8,4X20=80,4X200=800我发现:一个因数不变,另... 描写雪的段落优选好句60句 程序员最低学历是多少 电脑不识别独显了怎么办? socket编程在windows和linux下的区别是什么? linux下socket编程中close()函数?? linux socket read 什么时候返回 Linux socket 网络编程,当处理网线拔掉时,如何让recv()函数快速返回 linux socket阻塞recv怎么返回 linux socket返回的int值是什么 文件描述符一样的东西吗 如何训练腹肌??? 高强度安全锻炼腹肌方法 怎么样才能快速又不伤身体的把腹肌练出来,在线等 如何做仰卧起坐不伤脊椎骨 锻炼腹肌怎么避免腰肌劳损? 如何练习腹部不伤腰? 怎样锻炼腹肌不会拉伤背部肌肉 iqooz3手机壳跟VIVOy53s通用吗 vivoy70s手机能用三合一手机壳吗? 买vivoy50手机壳 大小 可以 vivoy3吗? vivoy3标准版手机可以用vivoz3手机壳吗? vivoy3的手机可以套别的什么型号手机壳 vivo+y3s能用y7s的手机壳吗 为什么现在我买不到vivoy3s的手机壳? Windows Socket和Linux Socket编程的区别 linux 下用socket 文件传输问题(UDP) linux socket 求助,总是提示 Connection refused Linux 里面重复创建socket 与 串口 返回文件描述符都为0怎么办 相互影响吗? 西兰花从种到收多少天 西兰花的成长过程50字 西兰花的生长过程? 西兰花的生长习性 西兰花的栽培技术 西兰花一年能种植几季 “b”的笔顺怎么写? 字母B是轴对称图形吗 大写字母B像生活中的什么物品 大写的B是不是轴对称图形 字母“b”的大写形式是什么? 英文的26个字母就是ABCDEFG .......分大小写.就是:A a. B b. Cc ... 大写字母B是轴对称图形吗 大写字母“B”是轴对称图形吗? 请问,衣服logo是一个字母B是什么牌子的衣服? 微信更新升级后我原来的聊天记录和照片还会在吗