2016-06-23 7 views
0

Ich habe folgendes zu lesen auf Msdn über accept Funktion:Senden von Daten sofort nach dem Akzeptieren. Datenverlust Möglichkeit

https://msdn.microsoft.com/pl-pl/library/windows/desktop/ms737526(v=vs.85).aspx

Bei Verwendung der Funktion übernehmen, erkennt, dass die Funktion zurückkehren kann, bevor Verbindungsaufbau über die gesamte Strecke zwischen Sender durchlaufen hat und Empfänger. Dies liegt daran, dass die Accept-Funktion zurückkehrt, sobald sie eine CONNECT ACK-Nachricht erhält. In ATM wird eine CONNECT ACK-Nachricht vom nächsten Switch im Pfad zurückgegeben, sobald eine CONNECT-Nachricht verarbeitet wird (anstatt dass CONNECT ACK von dem Endknoten gesendet wird, für den die Verbindung letztendlich eingerichtet ist). Als solche sollten Anwendungen erkennen, dass, wenn die Daten sofort nach dem Empfang einer CONNECT ACK-Nachricht gesendet werden, ein Datenverlust möglich ist, da die Verbindung möglicherweise nicht vollständig zwischen Sender und Empfänger hergestellt wurde.

Konnte jemand es in mehr Details erklären? Was hat es mit SYN, SYN ACK? Was ist das Problem hier? Wann kann ein solcher Datenverlust passieren und wie kann er verhindert werden?

Antwort

1

Sie Weglassen einen wichtigen Abschnitts auf dieser Seite, direkt vor Ihrem Zitat:

Im Folgenden werden wichtige Probleme mit Verbindungsaufbau verbunden ist, und muss berücksichtigt werden, wenn Asynchronous Transfer Mode mit (ATM) mit Windows Sockets 2

das heißt, es ist nur anwendbar, wenn Sie Dinge wie AF_ATM und SOCKADDR_ATM verwenden. Es ist nicht relevant für TCP, was Sie scheinen zu implizieren:

Was es mit SYN hat, SYN-ACK

Verwandte Themen