繁体   English   中英

Winsock的IO和消息解析重叠

[英]Winsock overlapped IO and message parsing

我必须实现一个(客户端)套接字,该套接字需要在Windows 7服务器上运行的高吞吐量(> 800Mbps)和低延迟。 重叠的IO似乎是追求高性能的方法。

阅读有关该主题的一些文档,据我所知,重叠的I / O的优点是您将一些带有缓冲区的结构传递给OS,并在它们被填充时得到通知。

不,我不知道将这种方法与基于数据包的协议(长度分隔的数据包,标头包含数据块的大小)相结合的常用方法是什么,当然我可以读取任意数据块并将所需数量的字节复制到消息结构中。 这意味着要执行其他复制操作。

第二种选择可能是将消息结构作为标头大小的缓冲区传递,将其返回后,再次传递相同的结构以读取请求的数据字节数。 在这种情况下,读取的第一个块很小,但是数据被保存到消息结构中,并且在读取数据块的过程中,可以初始化下一个标头块的读取。

任何经验或想法如何最有效地处理定界数据包?

谢谢,

如果您知道数据包的大小,请查看分散/聚集I / O。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM