Sutar
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Mavrikii Python 2.7.8 Если указать сервер, который даст ответ (быстро), то всё работает хорошо. Но если указать сервер, который не существует (выключен временно) или долго ждет ответ от существующего сервера, то выдает ошибку. <class 'socket.timeout'> Код: D:\localhost\ms>server.py 16/06/2015 - 21:10:13: Start chech server <class 'socket.timeout'> D:\localhost\ms>pause Для продолжения нажмите любую клавишу . . . | Код: try: import socket,MySQLdb,sys,thread,time,datetime except Exception, e: exit def load_servers2(): global data try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) except socket.error, (value,message): print "Could not open socket: " + message try: s.setblocking(1) s.settimeout(3) s.sendto('hello', ('146.174.48.18',80)) except Exception, e: print "Could not open socket: %s" %e return 0 buffer = s.recv(4096) s.close() print 'socket: ', buffer def load_servers(): global data try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.setblocking(1) s.settimeout(3) try: s.connect(('146.174.48.18',80)) except Exception, e: print "Could not open socket: %s" %e #return 0 except socket.error, (value,message): print "Could not open socket: " + message s.send('hello') buffer = s.recv(4096) s.close() print 'socket: ', buffer try: print "\n" + (datetime.datetime.now().strftime('%d/%m/%Y - %H:%M:%S: ')) + "Start chech server" load_servers() print "\n\n\n2:\n" load_servers2() except: print sys.exc_info()[0] | кстати, до load_servers2() - дело не доходит. Текст 2: - не печатает( |