Home

Tags

python telnet, пример определения разрыва соединения

2012-11-06 telnet python

При использовании telnet в Python, при разрыве связи или закрытии сокета на удаленной стороне, telnet может не выдать ошибку закрытия соединения. Отловить разрыв соединения можно отправив NOP команду, ниже пример как можно определить разрыв соединения:

import telnetlib
import socket

try:
    tn = telnetlib.Telnet('google.com', 80)
    tn.write('GET / HTTP/1.0\n\n')
    while True:
        buf = tn.read_some()
        if buf:
            print buf
        else:
            tn.sock.sendall(telnetlib.IAC + telnetlib.NOP)
except socket.error:
    print 'connection was closed'