Jeětě by to taky šlo udělat tak že by jak říkal geon měl každý klient vlastní server, ale tady narážím na další problém
def vlastni_server(self,cislo): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = 'localhost' port = cislo s.bind((host, port)) s.listen(1) while 1: con,adr=s.accept() con.setblocking(1) try: data=con.recv(1024) except: pass s.close() ale ted nebude fungovat hra. Ten server se vytvoří, ale okno se neotevře, protože server je v cyklu while. Proto bych potřeboval upravit kod toho serveru tak aby se mi nesekla hra. > ------------ Původní zpráva ------------ > Od: Jakub Vojáček <[EMAIL PROTECTED]> > Předmět: [python] vytvoření serveru > Datum: 15.8.2006 10:04:13 > ---------------------------------------- > 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 > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > Blujacker _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python