Už to asi vidím, každý klient má své vlákno (leda že by se samotný klient používal vícevláknově). Příště si dám větší pauzu před odesláním :)
PM Dne 10. února 2015 14:39 Petr Messner <petr.mess...@gmail.com> napsal(a): > Jak jsou jednotlivé zprávy od sebe odděleny? Vidím tam v klientovi > > > def communicate(self, data): > self._socket.send('%s %s' % (self.name, data)) > self._socket.recv(self.buffer_size) > > > A server to čte takto: > > while True: > data = self._socket.recv(self.buffer_size) > > if data in ('', '\n', '\r\n'): > return > > try: > who, op, name = data.split() > except ValueError: > raise ValueError('Invalid data') > > > Co když se zprávy pošlou náhodou tak, že self._socket.recv(self. > buffer_size) přijme dvě zprávy najednou? To mu pak přijde něco jako "client1 > mklock lock1client2 mklock lock2" a nebude to fungovat - server spadne. > > PM > > > Dne 10. února 2015 14:15 Pavel S <pa...@schon.cz> napsal(a): > > Jeste existuje tzv. DLM (Distributed Lock Manager). Zjednodusene receno, >> je to mutex, ktery je pristupny po siti. >> >> Jeden takovy jednoduchy distributed lock manager jsem napsal v pythonu a >> umistil na activestate zde: >> http://code.activestate.com/recipes/578194-distributed-lock-manager-for-python/ >> _______________________________________________ >> Python mailing list >> python@py.cz >> http://www.py.cz/mailman/listinfo/python >> >> Visit: http://www.py.cz >> > >
_______________________________________________ Python mailing list python@py.cz http://www.py.cz/mailman/listinfo/python Visit: http://www.py.cz