博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux socket 编程中 write 函数使用的注意事项
阅读量:5971 次
发布时间:2019-06-19

本文共 317 字,大约阅读时间需要 1 分钟。

hot3.png

   很多人都以为使用write和使用send发送数据是一样的,确实都可以发送数据,但是有一点需要注意:

   write 函数不能保证发送的数据一次都能发送完 ,可能只发送了一部分(当内核发送缓冲区满的时候),这点就破坏了数据发送的“原子性”,这个原子操作只的是单个包发送的过程中不会被其他发送操作影响。如果中间被打断,那么在同一个 socket 上的其他线程的发送操作就有可能在你间断后,进入发送,导致最后的包混乱。所以最好还是使用 send 来发送。

   但也不是说 send 不会被打断,当发送的过程中有信息到来的时候,send操作还是会被打断。

转载于:https://my.oschina.net/sincoder/blog/348881

你可能感兴趣的文章
一个资深系统管理员的O2O实践(四)
查看>>
VMM2012应用指南之9-向VMM中添加VMware ESX Server主机
查看>>
ubuntu无法修改ROOT密码的问题解决
查看>>
【虚拟化实战】VM设计之二内存机制
查看>>
SCOM 2012系列⑧即时消息通知下
查看>>
TestLink与RedMine连接部署说明
查看>>
自动部署LNMP脚本
查看>>
Linux系统程序包管理工具-RPM
查看>>
粗浅记录Oracle RAC系统内存无法释放
查看>>
Provisioning Services 7.8 入门系列教程之十三 使用 Boot Device Management(BDM)
查看>>
Python回顾与整理5:映像和集合类型
查看>>
Redhat 与Windows下的远程桌面
查看>>
MySQL Connector/Net 句柄泄露
查看>>
MacOS Sierra升级问题小记
查看>>
python 时间模块备忘
查看>>
一致性哈希算法的理解
查看>>
CentOS上安装skype
查看>>
通过持续ping来检测网络质量
查看>>
精品软件 推荐 硬盘检测软件 HDDExpert
查看>>
【CSS】摄影师个人网站布局
查看>>