Sans un roman, je vais essayer d'expliquer et j'espère que c'est logique.IP paquet/timeout/contrôle de l'intervalle
Nous avons une application qui gère l'envoi de données à un serveur via HTTPS simple, pas de problème tout fonctionne très bien. Cependant, si les paquets sont envoyés via un téléphone satellite, la latence des transmissions est beaucoup plus longue que les millisecondes typiques traitées sur l'accès au réseau à grande vitesse par ligne terrestre. Ainsi, les mêmes paquets exacts étant envoyés sont cassés automatiquement via l'API Windows lorsque par les fonctions suivantes:
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
Je ne contrôle pas spécifiquement les « paquets », la construction d'une simple demande entière et l'envoyer et obtenir un répondre.
Ce qui semble se produire est la suivante. Les paquets sont divisés en plus petits morceaux comme typique avec une grande quantité de données. Cependant, au moment de l'arrivée au satellite, ils ne sont pas réassemblés dans la séquence correcte, donc l'acceptation à la destination finale échoue. Donc, maintenant la question ... Y at-il un moyen que je peux spécifiquement laisser savoir à Windows pour ralentir la fréquence d'envoi des paquets afin de prévenir les problèmes de latence? Comme nous n'avons pas accès au système par satellite, nous ne pouvons pas prouver que c'est le problème, mais il semble qu'ils obtiennent les paquets, mais ne les remettez pas dans le bon ordre.
Merci.
Ceci est tout à fait normal. TCP s'occupe de cela. "Ralentir" ne résoudra pas le problème. –
@Hans Passant, puis son quelque chose sur leur (Satellite), et complètement hors de notre contrôle? – DRapp
Vous ne maîtrisez * jamais * le routage d'un paquet IP. L'itinéraire peut même changer pendant que vous transmettez. Ce qui peut causer des retards variables et l'ordre d'inversion des paquets. Rétablir humpty-dumpty est le travail de TCP. –