Hi Roboman,

wenn die Clients hinter dem selben Router sitzen, kann der proxy nicht die IPs unterscheiden, aber er kann die remote ports unterscheiden. Der server Teil des Proxy ist zuerst listening. Wenn die Clients via Router ihn ansprechen, verwendet der Router für die Verbindung zum Proxy unterschiedliche Ports (ports des Routers sind gemeint) auf der Ausgangsseite. Der Proxy richtet dann für jedes remote Port des Routers, von dem er angesprochen wird, eine Connection ein, und spricht dann seinerseits über ein bestimmtes Ausgangs Port den Eigentlichen Server an. Die Zuordnung der Eingangs Connection des proxy zum Ausgangsport des proxy ist fix, solange diese Verbindung besteht. Anhand dieser Zuordnung kann dann die Antwort, die der proxy vom eigentlichen server bekommt an die richtige Connection zurück weiterleiten.

Eigentlich verwenden alle 3 das selbe System: der eigentliche Server, der proxy und der Router. Antworten werden immer an eine bestimmte IP:Portnummer gerichtet. Die Kombination IP:Portnummer wird auch Socket genannt, also deutsch Steckdose, DAS ist die eindeutige Verbindungskennzeichnung.

Sicher kann man einen proxy programmieren. Das ist eine haarige Sache, aber seehr interessant. Welche Sprache verwendest du? Ich verwende da Delphi.

grüsse,
Hannes