Server-Code
Code: Alles auswählen
import socket
import threading
import Queue
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(("",50000))
s.listen(1)
class Chatserverempfangen(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
try:
while True:
print "Warte auf Teilnehmer"
komm,addr = s.accept()
print komm
print addr
while True:
data=komm.recv(1024)
if not data:
print "Teilnehmer hat sich abgemeldet"
komm.close()
break
print "[%s] %s" %(addr[0],data)
finally:
s.close()
class Chatserversenden(threading.Thread):
Briefkasten=Queue.Queue()
def __init__(self):
threading.Thread.__init__(self)
def run(self):
while True:
komm,addr=s.accept()
while True:
nachricht=Chatserversenden.Briefkasten.get()
komm.send(nachricht)
Chatserversenden.Briefkasten.task_done()
thread1=Chatserverempfangen()
thread1.start()
thread2=Chatserversenden()
thread2.setDaemon(True)
thread2.start()
while True:
eingabe=raw_input("> ")
if eingabe=="exit":
break
else:
Chatserversenden.Briefkasten.put(eingabe)
Chatserversenden.Briefkasten.join()
thread1.join()
Code: Alles auswählen
import socket
import threading
import Queue
ip=raw_input('Geben Sie IP ein: ')
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((ip,50000))
class Chatserverempfangen(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
antwort=s.recv(1024)
print "[Server]"+antwort
class Chatserversenden(threading.Thread):
Briefkasten=Queue.Queue()
def __init__(self):
threading.Thread.__init__(self)
def run(self):
nachricht=Chatserversenden.Briefkasten.get()
s.send(nachricht)
Chatserversenden.Briefkasten.task_done()
thread1=Chatserverempfangen()
thread1.start()
thread2=Chatserversenden()
thread2.setDaemon(True)
thread2.start()
while True:
eingabe=raw_input("> ")
if eingabe=="exit":
break
else:
Chatserversenden.Briefkasten.put(eingabe)
Chatserversenden.Briefkasten.join()
thread1.join()