Форум сайта python.su
Вот к примеру
конечусь на порт 9100
и пытаюсь прочитать
text=s.recv(1024)
а на той стороне
если есть хоть что нить то он его прочитает и вывидет мне на экран
print (text)
но что делать если сокет пуст?
Если при этом клиент висит ожидая ответа что нужно дописать чтобы клиент продолжал работу!
Суть такова клиент подрубился если на серваке нету слово гуд то тогда он мне соощает что слова нет и я завершил работу а если есть то пишет что слово гуд есть?
спс всем! :)))
Офлайн
Использовать неблокирующие сокеты.
Тогда при чтении прога не повиснет, а сгенерирует исключение которое можно перехватить и либо заигнорить либо повесить собственный обработчик.
Офлайн
EliontПодскажите как ? Всмысле что я должен вписать! Плиз :)
Использовать неблокирующие сокеты.
Тогда при чтении прога не повиснет, а сгенерирует исключение которое можно перехватить и либо заигнорить либо повесить собственный обработчик.
Офлайн
Сокет делается неблокирующим методом .setblocking(0)
После этого обрабатывать надо примерно так:
try:
sock, addr = socket_object.accept()
connect = True
except socket.error:
connect = False
continue
Отредактировано (Янв. 30, 2011 06:23:30)
Офлайн