[Tutor PyCZ] vytvoření serveru
Pavel Kosina
geon na post.cz
Úterý Srpen 15 08:52:07 CEST 2006
Jakub Vojáček napsal(a):
> Já vím, ale těch posluchačů bude tolik jako klientů
>
jeden server a 10 posluchačů. Když jeden něco napíše, pošle to na server
a ten to rozešle všem. Tak to asi je, že jo?
Ty to ted máš, že se pokaždé vytvoří nové spojení. Tak to ale fungovat
ne,ůže, protože clineti musí na server napojeni furt. Tedy přichází do
úvahu dvě řešení (ani jedno jsem nezkoušel, budeš muset hodně laborovat
nebo ti někdo zkušenější poradí - mě by to taky zajímalo):
1/ pro každého klienta udělat speciální PORT a ten udržovat v chodu
(tedy žádné xxx.close() ). A mít je nějak v seznamu a když jeden něco
pošlě, tak server všem ze seznamu odešle co dostal
2/ Snad je možné :
http://heather.cs.ucdavis.edu/~matloff/Python/PyNet.pdf udělat
Non-blocking socket, což znamená, že by ti na jeden PORT se přihlásilo
jich víc klientů (ti ostaní by již nepsaly, že to nejde, že je to
obsazené). No a když by jeden něco poslat, tak by to server poslal zpět
a dostaly by to všichni.
Zkus si projít zmíněné funkce v dokumentaci Python. Nejlepší přehled
tutoriálů o síťovém programování jsem našel tady:
http://www.awaretek.com/tutorials.html#int .
--
geon
Pavel Kosina
Další informace o konferenci Tutor