hacker63, замени
Код
sock.send('TSource Engine Query'.encode('utf-8'))
на
Код
sock.send('\xFF\xFF\xFF\xFFTSource Engine Query\x00')
У меня что-то такое выходило когда я практиковался с подобным
Код:
ics = "127.0.0.1:27015"
ip,port = ics.split(":")
port = int(port)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#Про setblocking и settimeout почитай. settimeout - количество сек. ожидаемых для ответа.
s.setblocking(1)
s.settimeout(2)
try:
s.connect((ip,port))
except Exception, e:
print "Error socket.connect: %s" %e
exit
try:
s.send('\xFF\xFF\xFF\xFFTSource Engine Query\x00')
except Exception, e:
print "Error socket.send: %s" %e
exit
buffer = s.recv(4096)
print buffer
s.close()
только я тебе проще вид скинул. Тут нужно больше исключений добавить, например для
port = int(port),
s.setblocking(1) и
s.settimeout(2). Если будешь использовать для массового опроса серверов, нужно больше ошибок отсекать. Они всегда будут вылазить)