当前位置: 技术问答>linux和unix
C++ socket 变成遇到无法解决的tcp 分片问题
来源: 互联网 发布时间:2016-04-02
本文导语: 当调用send想socket写入数据时,数据的长度应该是不用分片的 当我很快的频率send的时候,我两次send的结果会连接到一起,而且会在某一条数据中间将其切分。 是不是tcp会把数据写到一个buf里面?然后一起发送?...
当调用send想socket写入数据时,数据的长度应该是不用分片的
当我很快的频率send的时候,我两次send的结果会连接到一起,而且会在某一条数据中间将其切分。
是不是tcp会把数据写到一个buf里面?然后一起发送?
当从中间切分了之后我很难将其绝对无损的拆分。
现在我想能否将tcp的分片重组,应该用什么方法实现?
或者如何让tcp不会将我的数据切分。
或者别的idea?
求教!
当我很快的频率send的时候,我两次send的结果会连接到一起,而且会在某一条数据中间将其切分。
是不是tcp会把数据写到一个buf里面?然后一起发送?
当从中间切分了之后我很难将其绝对无损的拆分。
现在我想能否将tcp的分片重组,应该用什么方法实现?
或者如何让tcp不会将我的数据切分。
或者别的idea?
求教!
|
这个当然是规避不了的问题啊,分片你要用协议来解决的啊,其他方法都不是根本的。
你的每一个数据都要有头尾的标识的,这样接收程序就可以通过标识来区分每一帧的数据。