![]() |
TCP Proxy
hi,
zur zeit versuche ich mich an einem tcp proxy für einen gameserver (ja tcp :)). der proxy soll sich vor den server stellen, daten abfangen/bearbeiten und dann an den server weiterleiten. theoretisch bis zum bearbeiten kein problem, allerdings das weiterleiten von proxy zu server wird wohl evtl nicht klappen wenn ich sockets richtig verstanden habe. wenn ich nun vom proxy die daten mit nem tcp client an den server leite, habe ich ja nur 1x ne verbindung, allerdings hat jeder client ohne den proxy ja eine eigene ip, also könnte der server es ja nichtmehr unterscheiden da der proxy ja immer die eine ip hat und nicht wie im normalfall jeder client ne eigene? ist das so korrekt oder verstehe ich was falsch? freue mich über jede hilfe! mfg |
Re: TCP Proxy
Hai Snoke,
es kommt jetzt darauf an wie der Server arbeitet. Bei einem Router (der ja auch nur eine IP nach aussen hat aber viele Clients mit anderen IPs hinter sich) wird das ganze über (Port)-NAT gemacht. Am Beispiel einer HTTP-Abfrage sieht das so aus:
Code:
Der Router speichert also die IP und den Port von dem er eine Anfrage bekommt. Jetzt sendet er unter seiner IP und einem zufälligen anderen Port an den Server. Der Server sendet seine Antwort jetzt an die IP des Router und den Port den der Router angegeben hat. Wenn der Router nun auf diesem Port eine Antwort vom Server erhalten hat schaut er in der Tabelle nach zu welchem Client der von ihm gewähle Port gehört und sendet das Packet jetzt an die IP und den Port des Client./ -----------Router--------- /Client-A : Port x I merkt sich IP und Port I Router-IP : Port a /Client-B : Port y <-> I merkt sich IP und Port I <-> Router-IP : Port b <-> Server /Client-C : Port z I merkt sich IP und Port I Router-IP : Port c -------------------------- Eventuell hilft Dir das ja weiter. |
Re: TCP Proxy
was ne antwort, danke das hilft wirklich gut, direkt probieren, danke! :-D
|
Re: TCP Proxy
nach längerem versuchen komme ich nicht ganz weiter, folgenden programm aufbau habe ich:
Code:
problem ist von von [TCPClient-Port: 1338] nach [TCPServer-Port: 1338]. hier setzt meine logik aus, da ich von tcp sockets (allgemein sockets) nicht wirklich viele gelesen habe. zur erinnerung [TCPServer-Port: 1338] ist der gameserver der die daten vom proxy erhalten soll. würde ich jetzt einfach alles weiterleiten wüsste der gameserver ja nicht was von wem ist, da ich ja nur 1x mit dem proxy ne connection aufbaue zum server, normalerweise würde der gameserver ja mehere connections bekommen und dementsprechend einfach zuweisen.[Client PC] [Proxy] .----------------------. .----------------------. | TCPClient-Port: 1337 | ----> | TCPServer-Port: 1337 | [gameserver] '----------------------' |----------------------| .----------------------. | TCPClient-Port: 1338 | ----> | TCPServer-Port: 1338 | '----------------------' ' ---------------------' mfg der ratlose Snoke :-( |
Re: TCP Proxy
Warum nehmen alle Leute den Port 1337? Das ist doch albern...
Du könntest es ca. folgendermaßen aufbauen: Proxy managed die Connections, sowie Login, registration, logout... und sendet das wichtige an den Server [int length(username)][str username][int PlayerAngle][int Speed][int InventoryCount]... was immer du brauchst. Sonst habe ich dich falsch verstanden. In diesem Falle definiere deine Frage bitte genauer ;) |
Re: TCP Proxy
soweit wie ich es verstehe, will er einen proxy zu einem bestehenden spiel haben (also spiel ist nicht selbstgemacht)
|
Re: TCP Proxy
Zitat:
|
Re: TCP Proxy
Das heisst, du weist nicht was der Server hören will?
Um welches Spiel handelt es sich? |
Re: TCP Proxy
[quote="inherited"]Das heisst, du weist nicht was der Server hören will?
Um welches Spiel handelt es sich?[/quote World of Warcraft, der dafuer soll fuer LANs sein, näheres ist noch geheim. |
Re: TCP Proxy
Knifflig. Frag doch den Server einfach alles mögliche und lies die Antwort aus, dann weist du ob es den Befehl gibt. Im Internet gibt es dazu leider nichts...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz