利用qt tcpsocket接受大数据包,但是数据只能接受至5k,之后的数据丢失严重,求指教!

2024-11-09 09:53:49
推荐回答(1个)
回答(1):

对于大数据包 建议还是分段传送 也就是你要自己写一个关于发送接收的协议 一次性读取或者发送是一个不太好的做法 虽然TCP在发送过程中会有数据的验证什么的 但是如果缓冲区一下子就满了 起始还是会丢失部分数据的
建议分段发送跟分段接收
既由客户端来决定发送的频率 (假定1M的数据包 分段称8K的一个小包 那么就变成 发送128次 在客户端接收到其中的一个包假定是第N个 在接收完了 并且验证数据是正确的时候 那么就在客户端发送给服务端一个请求的数据包 让服务器发送第N+1个数据包 依次处理)