[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