Ahoj
mám takový problém se serverem. Dělám na on-line multiplayer hře. Každý si
stáhne klienta a když bude puštěný server připojí se. Například když se někdo
připojí tak to všem ostatním hráčům odešle
přikaz:self.platno.create_image(x,y,image=obr)
jak ale udělat funkci, která byčekala až na server přijde nějaká zpráva a pak
by jí stáhla?
server:
import socket
def zapni_server():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost'
port = 1001
s.bind((host, port))
s.listen(1)
print "on-line"
while 1:
conn, addr = s.accept()
data = conn.recv(100000)
print data
conn.send(data)
conn.close()
s.close()
zapni_server()
###################
klient ma dve funkce:
def posli_rozkaz(self,co):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = "localhost"
port = 1001
s.connect((host, port))
s.send(co)
s.close()
def prijem_rozkazu(self):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = "localhost"
port = 1001
s.connect((host, port))
s.setblocking(0)
try:
data= s.recv(1000000)
exec(data)
except:
pass
s.close()
Prostě jakmile by jakýkoliv klient odeslal příkaz, hned by se u všech ostatních
klientů zavolal funkce prijem_rozkazu()
Blujacker
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python