python and telnet timeout question

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
Gaziz
Житель
Сообщения: 944
Зарегистрирован: 17 фев 2003, 15:57
Откуда: Almaty-Toronto-Vancouver-Seattle

python and telnet timeout question

Сообщение Gaziz »

Привет,

Возникла небольшая проблемка. В скрипте коннекчусь к серверу и читаю данные. Все работает прекрасно пока сервер
не упадет - скрипт сразу начинает виснуть.

Как проще сделать чтоб питон отваливался по тайм-ауту?

PS. идеально подходит что-то такого
tn = telnetlib.Telnet(HOST, PORT, TIMEOUT)

но к сожалению он не понимает TIMEOUT

G.
Аватара пользователя
Gaziz
Житель
Сообщения: 944
Зарегистрирован: 17 фев 2003, 15:57
Откуда: Almaty-Toronto-Vancouver-Seattle

Re: python and telnet timeout question

Сообщение Gaziz »

Gaziz писал(а):Привет,

Возникла небольшая проблемка. В скрипте коннекчусь к серверу и читаю данные. Все работает прекрасно пока сервер
не упадет - скрипт сразу начинает виснуть.

Как проще сделать чтоб питон отваливался по тайм-ауту?

PS. идеально подходит что-то такого
tn = telnetlib.Telnet(HOST, PORT, TIMEOUT)

но к сожалению он не понимает TIMEOUT

G.
Dear Gaziz,

> Hi,
>
> I started to use python recently and I like it.

Then hello and welcome!

> Sometime the server is down and my script hangs - I wonder if one
> can specify the maximum timeout for trying to connect to a server.

You can set a default timeout for all networking connections using
the socket module:

>>> import socket
>>> socket.setdefaulttimeout(10) # Seconds
>>> t=telnetlib.Telnet("www.example.com")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "telnetlib.py", line 208, in __init__
self.open(host, port)
File "telnetlib.py", line 237, in open
raise socket.error, msg
socket.timeout: timed out

Regards,
Matt
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Re: python and telnet timeout question

Сообщение ajkj3em »

Gaziz писал(а):
Gaziz писал(а):Привет,

Возникла небольшая проблемка. В скрипте коннекчусь к серверу и читаю данные. Все работает прекрасно пока сервер
не упадет - скрипт сразу начинает виснуть.

Как проще сделать чтоб питон отваливался по тайм-ауту?

PS. идеально подходит что-то такого
tn = telnetlib.Telnet(HOST, PORT, TIMEOUT)

но к сожалению он не понимает TIMEOUT

G.
Dear Gaziz,
про packet loss ответ давай .. а то все теорий навыдвигали, а кто выйграл не понятно :)
Ответить