Seite 1 von 1

aus einem netzwerkchat einen internetchat machen

Verfasst: Mittwoch 24. Mai 2006, 10:53
von murph
ich weiß, dass ich das vor ewigkeiten schonmal gefragt habe, aber ich kann den thread nicht mehr finden...wie kann ich einen chat umfunktionieren?
Er soll nur Daten übertragenund überhaupt nicht nutzerfreundlich sein ;)
eine simple funktion, kein ganzens Programm zum Durchwälzen...

Server:

Code: Alles auswählen

#!/usr/bin/env python
"USAGE: echoserver.py <port>"
from SocketServer import BaseRequestHandler, TCPServer
import sys, socket
class EchoHandler(BaseRequestHandler):
    def handle(self):
        print "Client connected:", self.client_address
        self.request.sendall(self.request.recv(2**16))
        self.request.close()
if len(sys.argv) != 2:
    print __doc__
else:
    TCPServer(('',int(sys.argv[1])), EchoHandler).serve_forever()
Und der Client:

Code: Alles auswählen

#!/usr/bin/env python
"USAGE: echoclient.py <server> <word> <port>"
from socket import *    # import *, but we'll avoid name conflict
import sys
if len(sys.argv) != 4:
    print __doc__
    sys.exit(0)
sock = socket(AF_INET, SOCK_STREAM)
sock.connect((sys.argv[1], int(sys.argv[3])))
message = sys.argv[2]
messlen, received = sock.send(message), 0
if messlen != len(message):
    print "Failed to send complete message"
print "Received: ",
while received < messlen:
    data = sock.recv(32)
    sys.stdout.write(data)
    received += len(data)
print
sock.close()
Das soll nun via Internet laufen...

Verfasst: Mittwoch 24. Mai 2006, 11:50
von Joghurt
Meinst du mit Internet vielleicht WWW?

Ansonsten läuft dein Chat doch schon über IP, also auch über's Internet

Verfasst: Mittwoch 24. Mai 2006, 14:38
von murph
als ich versucht habe, den server über die internet-ip anzuspprechen, hat er mir gesagt, dass dies kein host sei (IP habe ich über www.wieistmeineip.de)
dann hat er abgebrochen ... Fehlermeldung folgt...

Verfasst: Mittwoch 24. Mai 2006, 14:40
von Joghurt
Wenn du über einen Router ins INet gehst, musst du natürlich Portforwarding einrichten

Verfasst: Mittwoch 24. Mai 2006, 22:31
von murph
Wenn ich mal ganz dumm fragen darf: was ist das?

Verfasst: Mittwoch 24. Mai 2006, 22:35
von ryu
Portforwarding heißt, das der Router, der aus dem Internet auf einem Port angesprochen wird, den Port an deinen Renchner weiterleitet, damit dieser die anfrage beantworten kann. Das ist darum nötig, weil dein PC nicht dirket per IP aus dem Internet angesprochen werden kann.
Bei den meisten Routern lässt sich das im Webinterface einrichten.

Verfasst: Mittwoch 24. Mai 2006, 22:37
von murph
THX