没有小说,我会尝试解释并希望它有意义。
我们有一个应用程序可以通过简单的 HTTPS 将数据发送到服务器,没问题,一切正常。但是,如果数据包是通过卫星电话发送的,则传输延迟比陆地高速网络访问处理的典型毫秒数要长得多。因此,当通过以下函数时,发送的完全相同的数据包会通过 Windows API 自动分解:
DECLARE INTEGER InternetOpen IN WININET.DLL
DECLARE INTEGER InternetCloseHandle IN WININET.DLL
DECLARE INTEGER InternetConnect IN WININET.DLL
DECLARE INTEGER HttpOpenRequest IN WININET.DLL
DECLARE INTEGER InternetQueryOption IN WININET.DLL
DECLARE INTEGER InternetSetOption IN WININET.DLL
DECLARE INTEGER HttpSendRequest IN WININET.DLL
DECLARE INTEGER HttpQueryInfo IN WININET.DLL
DECLARE INTEGER InternetReadFile IN WININET.DLL
我不是专门控制“数据包”,只是构建一个完整的请求并发送它并得到答案。
正在发生的事情是这样的。数据包被分成更小的块,这是典型的大量数据。然而,当到达卫星时,它们并没有按照正确的顺序重新组装,因此最终目的地的验收失败。
所以,现在的问题......有没有一种方法可以让 Windows 知道降低数据包发送到 HELP 的频率以防止延迟问题?由于我们无法访问卫星系统,我们无法证明这是问题所在,但似乎他们收到了数据包,只是不要以正确的顺序将它们放回原处。
谢谢。