我在c++代码中使用基于http的文件上传(运行在linux/android上)。我使用异步tcp套接字写入文件数据。我的问题是,我的进度条反映了已写入套接字的内容,而不是实际发送到电线上的内容。慢链接的问题变得明显,在100%发送进度通知和发送完整消息之间需要几十秒(有时超过一分钟)。
我不修改SO_SNDBUF,在我的例子中它是35 by (由getsockopt查询)。如何修正进度通知以正确反映当前的传输状态?是否有一种方法来查询仍然保留在缓冲区中的数据的大小?是否有办法获得传输进度的TCP通知</