So bin erstmal etwas vom Gas gegangen und versuche jetzt einen Netzwerk/Internet Chat zu schreiben.
Was ich habe:
Server:
Code: Alles auswählen
#Server
from threading import Thread
import socket
import sys
#########################Funktionen######################
def abfangen():
while 1:
data = client.recv(4096)
print data
#########################################################
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = ''
port = 6022
server.bind((host, port))
server.listen(5)
(client, address) = server.accept()
t_abfangen = Thread(target = abfangen, args = ())
t_abfangen.start()
while 1:
string = raw_input('')
client.send(string)
Client:
Code: Alles auswählen
#client
from threading import Thread
import socket
import sys
#########################Funktionen######################
def abfangen():
while 1:
data = client.recv(4096)
print data
#########################################################
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost'
port = 6022
client.connect((host, port))
t_abfangen = Thread(target = abfangen, args = ())
t_abfangen.start()
while 1:
string = raw_input('')
client.send(string)
Das Problem ist nun das ich das was der Client los schickt auf dem Server sofort erhalte. Wenn ich aber versuche vom Server eine Nachricht an den Client zu schicken passiert nichts. Schicke ich aber daraufhin eine Nachricht vom Client an den Server erhalte ich auf dem Client auch die vorher vom Server losgeschickte Nachricht.
Ist das zufällig verständlich?
Sieht einer von euch den Fehler?
Danke schon mal
