Zdravím, nejsem si jistý, ale mám takový dojem, že ten kód fungovat ani nemůže. První, co mě praštilo do očí, je řádek "exit", který, i kdyby hypoteticky v aktuálním namespace existovala funkce exit, neudělá vůbec nic, jen na ni získá referenci a zahodí ji. Doporučil bych importovat sys a použit sys.exit(). Dále se mi zdá, že bez nonblocking IO není možné v jednom vlákně načítat a posílat vstup, protože se to snadno může někde zaseknout čekáním na vstup. Ohledně funkce recv() si nejsem jistý jak v tomhle ohledu funguje, většinou používám socket.makefile a potom s tím pracuji jako s klasickým soketem. Možná by také za zmínku stály moduly asyncore a asynchat, které tyto problémy řeší systémem událostí (uznávám, vlákna jsou jednodušší, ale řešit některé problémy s nimi je dosti netriviální).
On Pá, lis 16, 2007 at 07:37:37 +0100, Tomy novella wrote: > Věroš: nooo ako tak citam o TCP/IP, zamotavam sa do toho hlbsie a > hlbsie a nakoniec zistujem, ze neviem totalne nic ;-) nechapem naco > vymysleli ten model ISO/OSI a naco rozlisuju tolko medzi tolkymi tymi > vrstvami. kazdopadne to osvietenie tak skoro nepride :) > > co som sa vsak chcel spytat, je, ze: > > - skusam si spravit klienta na telnet, resp. chcem, aby ma to > pripojilo na atlantis.talker.sk problemom vsak je, ze > nefunguje(nedokaze komunikovat) ;( what`s wrong? > ----------------------- > import socket, string > clisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > clisock.connect(('atlantis.talker.sk', 23)) > > while 1: > data = clisock.recv(65536) # nechce sa mi to bufferovat ;) > for riadok in data.split('\r\n'): > print riadok > a = raw_input('napis text: ') > if(a == 'qq'): > print "ukoncujem spojenie" > clisock.close() > exit # ak napisem 'qq' skonci sa mi program > clisock.send(a) > ----------------------------- _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python