simpler "chat"

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
theotter
User
Beiträge: 27
Registriert: Mittwoch 30. Juni 2010, 16:08

Ich habe nen kleines Programm geschrieben, mit dem man Nachrichten austauschen kann.
Es funktioniert, wenn ich das Programm auf meinem PC(Win 7 64Bit) laufen lasse, jedoch nicht, wenn nen Kumpel, das Server-Programm auf seinem PC(linux) laufen hat und ich bei mir das CLient-Programm.
Es erschien eine Fehlermeldung, die aussagte, dass der Server nicht reagieren würde.

lg theotter

Server:

Code: Alles auswählen

import socket
import pickle as p

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.bind(("", 50000)) 
s.listen(1)

try: 
    while True: 
        komm, addr = s.accept() 
        while True: 
            data = komm.recv(1024)

            if not data: 
                komm.close() 
                break

            print("[%s] %s" % (addr[0], p.loads(data)))
            message = input("Antwort: ") 
            komm.send(bytes(message,'UTF-8')) 
finally: 
    s.close()
Client:

Code: Alles auswählen

import socket
import pickle as p

#statt "..." habe ich natürlich die korrekte IP verwendet ;)
ip = bytes("...",'UTF-8') 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
s.connect((ip, 50000))

try: 
    while True:         
        message = p.dumps(input("Antwort: "))
        s.send(message) 
        antwort = s.recv(1024) 
        print("[%s] %s" % (ip,antwort))
finally: 
    s.close()
Zuletzt geändert von Anonymous am Montag 10. September 2012, 08:56, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Wie lautet die genaue Fehlermeldung?
Wie sieht die Netzwerkstruktur aus?
Weißt du was NAT ist - und wenn ja: Weißt du ob du das brauchst?
Kannst du dich mit Telnet zum lauschenden Port verbinden?
Antworten