nun, der Server läuft auf einem definierten Port.
Den siehst Du mit netstat -a im Status LISTENING.
Dieser Port wird auch direkt wieder freigemacht sobald der Serverdienst beendet wurde.
Der Client sendet nun zu diesen ServerPort ein SYNC.
Der Port von dem der Client sendet ist mehr oder weniger beliebig.
Der Server antwortet nun mit einem Sync-Ack auf diesen Port, der Sever weiß von welchem
Port der Client gesendet hat, denn er hat ja das SYNC Packet empfangen.
Sollte eine Firewall im Kommunikationsweg sein, so muss diese von ausserhalb
auf dem definierten Serverport durchlässig sein. Wenn Ports von der Innenseite
angefragt werden, so werden diese in der Regel durchgelassen.
Delphi-Quellcode:
angennommen der Server lauscht auf Port 50000
aussen FW innen
Client ->SYNC,50000 FW -> SYNC,50000 -> Server
Client <-SYNC,ACK FW <- SYNC,ACK <- Server
Grüße
Klaus