Python: Пример использования сокетов
| Октябрь 31st, 2010Для примера взял получения информации о сервере Counter-Strike, а именно имя сервера и текущую карту. Соединение происходит по протоколу UDP, затем распарсиваем полученные данные и выводим на экран.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #!/usr/bin/env python ''' cs_client.py author: Dominus site: http://k0derz.ru/ ''' import socket, string, sys def main(): if len(sys.argv) < 3: print "Usage: python cs_client.py server port" sys.exit(1); HOST = sys.argv[1] # server adress PORT = int(sys.argv[2]) # server port s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # init UDP socket type s.connect((HOST, PORT)) s.send("\xFF\xFF\xFF\xFFTSource Engine Query\x00") # send INFO request to CS-server data = s.recv(1024) # recieve info s.close() rsp = repr(data).split("\\x00") print "Server name:", rsp[1] print "Server map:", rsp[2] if __name__ == "__main__": main() |
