Sockets forwarden

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Hi,

Wie würdet ihr folgendes lösen:

Ihr habt zwei TCP Sockets, A und B. A ist eine Verbindung zu einem Client, B zu einem Server. Die beiden Sockets sollen nun verbunden werden, daher alles was der Client sendet soll an den Server weitergeleitet werden und umgekehrt.

- Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Code: Alles auswählen

while True:
    b.send(a.recieve())
Oder überseh auch da was großartiges?

€dit:
Natürlich für jede Richtung ein Thread.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

A) Zwei threads sind imho unnötig.
B) Was passiert wenn ein socket geschlossen wird?
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

audax hat geschrieben:http://code.activestate.com/recipes/483730/

Schon probiert?
Nein, aber verwendet auch Threads. select() wäre mir definitiv lieber. :wink:
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Mit asyncore. Wobei ich sagen muss, dass das Snippet eben gebaut wurde und nur mit ab getestet wurde, aber da funktionierts jedenfalls. Und `Server.handle_accept` ergibt so natürlich auch keinen Sinn, aber es wird ja davon ausgegangen, dass die Sockets schon existieren.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Antworten