AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TCP Proxy

Ein Thema von Snoke · begonnen am 11. Sep 2006 · letzter Beitrag vom 27. Sep 2006
Antwort Antwort
Seite 1 von 3  1 23      
Snoke

Registriert seit: 10. Aug 2006
16 Beiträge
 
Delphi 2006 Professional
 
#1

TCP Proxy

  Alt 11. Sep 2006, 00:54
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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TCP Proxy

  Alt 11. Sep 2006, 07:46
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:

/                          -----------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
                           --------------------------
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.

Eventuell hilft Dir das ja weiter.
Stephan B.
  Mit Zitat antworten Zitat
Snoke

Registriert seit: 10. Aug 2006
16 Beiträge
 
Delphi 2006 Professional
 
#3

Re: TCP Proxy

  Alt 11. Sep 2006, 12:08
was ne antwort, danke das hilft wirklich gut, direkt probieren, danke!
  Mit Zitat antworten Zitat
Snoke

Registriert seit: 10. Aug 2006
16 Beiträge
 
Delphi 2006 Professional
 
#4

Re: TCP Proxy

  Alt 11. Sep 2006, 16:34
nach längerem versuchen komme ich nicht ganz weiter, folgenden programm aufbau habe ich:

Code:

      [Client PC]                     [Proxy]
.----------------------.      .----------------------.
| TCPClient-Port: 1337 | ----> | TCPServer-Port: 1337 |            [gameserver]
'----------------------'      |----------------------|       .----------------------.
                               | TCPClient-Port: 1338 | ----> | TCPServer-Port: 1338 |
                               '----------------------'      ' ---------------------'
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.

mfg
der ratlose Snoke
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TCP Proxy

  Alt 11. Sep 2006, 20:01
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
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

Registriert seit: 19. Apr 2004
843 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: TCP Proxy

  Alt 11. Sep 2006, 20:30
soweit wie ich es verstehe, will er einen proxy zu einem bestehenden spiel haben (also spiel ist nicht selbstgemacht)
vlees91
  Mit Zitat antworten Zitat
Snoke

Registriert seit: 10. Aug 2006
16 Beiträge
 
Delphi 2006 Professional
 
#7

Re: TCP Proxy

  Alt 11. Sep 2006, 21:17
Zitat von vlees91:
soweit wie ich es verstehe, will er einen proxy zu einem bestehenden spiel haben (also spiel ist nicht selbstgemacht)
exakt der gameserver ist nicht von mir geschrieben, genau das ist das riesen problem mit dem weiterleiten vom proxy aus :-/
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: TCP Proxy

  Alt 12. Sep 2006, 16:05
Das heisst, du weist nicht was der Server hören will?
Um welches Spiel handelt es sich?
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Snoke

Registriert seit: 10. Aug 2006
16 Beiträge
 
Delphi 2006 Professional
 
#9

Re: TCP Proxy

  Alt 14. Sep 2006, 12:31
[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.
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: TCP Proxy

  Alt 14. Sep 2006, 12:56
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...
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz