Python: Пример использования сокетов

Для примера взял получения информации о сервере 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()

One Reply to “Python: Пример использования сокетов”

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *