metnek
Янв. 29, 2011 18:47:15
Вот к примеру
конечусь на порт 9100
и пытаюсь прочитать
text=s.recv(1024)
а на той стороне
если есть хоть что нить то он его прочитает и вывидет мне на экран
print (text)
но что делать если сокет пуст?
Если при этом клиент висит ожидая ответа что нужно дописать чтобы клиент продолжал работу!
Суть такова клиент подрубился если на серваке нету слово гуд то тогда он мне соощает что слова нет и я завершил работу а если есть то пишет что слово гуд есть?
спс всем! :)))
Eliont
Янв. 29, 2011 19:17:59
Использовать неблокирующие сокеты.
Тогда при чтении прога не повиснет, а сгенерирует исключение которое можно перехватить и либо заигнорить либо повесить собственный обработчик.
metnek
Янв. 29, 2011 19:35:20
Eliont
Использовать неблокирующие сокеты.
Тогда при чтении прога не повиснет, а сгенерирует исключение которое можно перехватить и либо заигнорить либо повесить собственный обработчик.
Подскажите как ? Всмысле что я должен вписать! Плиз :)
Eliont
Янв. 30, 2011 06:22:43
Сокет делается неблокирующим методом
.setblocking(0)После этого обрабатывать надо примерно так:
try:
sock, addr = socket_object.accept()
connect = True
except socket.error:
connect = False
continue
Покури руководства:
http://www.intuit.ru/department/pl/python/9/, потом посмотри мой старый курсовик:
http://dl.dropbox.com/u/11931230/ouvs_cource_work_report.docИ ещё соседнюю темку:
http://python.su/forum/viewtopic.php?id=10108