2010-12-20 7 views
3

Ich implementiere "simultane TCP Open". Das bedeutet, dass beide Peer versuchen werden, sich gleichzeitig zu verbinden. Ich habe verwirrt, ob man in diesem Fall zuhören muss oder nicht.Simultane TCP Open

oder sagen Sie mir die Reihenfolge der Steckdose muss für jeden Client aufgerufen werden.

Ich implementiere dies für TCP Lochung.

Dank,

Antwort

3

Von Wikipedia's article on TCP hole punching:

Da beide Parteien sind Verbindung zu sie (zB 2 x CONNECT(), keine LISTEN() accept(), etc.) erzeugen ausgehenden Datenverkehr gibt es jedoch ein Problem mit :

TCP Sequenznummern

Quittungsnummern

Der erforderliche Zustand ist wie kurz nach der Drei-Wege-Handshake: Jeder Host muss eine Nummer bestätigen hat == andere Sequenznummer + 1. Dies wird durch Sequenz erreicht und Bestätigungsnummer Koordination .

listen() wird nicht benötigt. Die Reihenfolge hängt davon ab, was verfügbar ist.

+0

Sie wollen sagen, dass sowohl akzeptieren als auch zuhören in diesem Fall nicht erforderlich ist. –

+0

können Sie mich beraten, wie man TCP-Sequenznummern anzugehen Bestätigungsnummern Problem –