Wenn ich im OnClientRead den socket.RemotePort abfrage, ist der anders als der socket.LocalPort.
Sollten die Ports nicht identisch sein, wenn Server und Client miteinander verbunden sind???
Das würde nur eine Verbindung je Portnummer erlauben. Nimm HTTP, das mit Port 80 arbeitet: wenn der Client immer ebenfalls Port 80 verwenden müsste, könnte ein Webbrowser immer nur zu einem einzigen Webserver eine Verbindung öffnen. Praktisch ist das nicht, da man ja auch mal mehrere Browserfenster gleichzeitig öffnen will. An welches Fenster/HTTP-Verbindung soll der Server seine Datenpakete addressieren, wenn alle die gleiche Portnummer verwenden? Darum muss jeder
TCP-Client eine eindeutige eigene Portnummer pro Verbindung benutzen.