zhllxt / asio2

Header only c++ network library, based on asio,support tcp,udp,http,websocket,rpc,ssl,icmp,serial_port,socks5.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TCP测试数据传输问题

tomath88 opened this issue · comments

在进行TCP数据传输的时候,如果一个client同时向server发数据,server接收的数据就会合并在一起。应该原因就是采用的异步接收方式导致的,那么对于这种情况的话,是采用同步方式来改程序好还是在现有代码下有解决方案?
代码里采用的都是async_read,这里能否改成同步的read呢,我自己试了下不行。

你需要去了解一个知识:tcp 粘包 拆包
这个问题和同步还是异步没有关系,无论同步还是异步都会出现粘包。
你了解完这个知识之后再来看asio2的首页介绍中关于asio2::use_dgram和拆包的相关文字,你就知道为什么会有这些类和操作了。

非常感谢,我自己没有看完全,以为已经完成了分包的操作