C++ epoll网络编程 buffer缓存

发布于 2021-11-25 18:26:49 字数 327 浏览 798 评论 2

最近研究代码发现一些问题,诚意请教大牛,最近研究了一些C++工程项目,现在的网络层一般使用epoll轮询操作,现在一般使用多个线程,一个网络线程,其余逻辑线程,逻辑线程中当有socket要发送数据的时候,会先将数据加载到buffer中,然后将socketfd 添加到epoll中的写事件,然后等网络线程epoll轮询到此写事件的时候将数据写出去,我想问一下,这些操作在程序中不是同步操作,

如果在此事件还没发出去的时候,又有此事件的添加数据,那么buffer中是不是就是俩个数据包混在一起了?这样发送出去怎么能确保数据的正确定?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离不开的别离 2021-11-26 15:29:23

自顶,坐等大牛指导

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文