Это статья на Хабре. Там простые примеры, а в комментариях есть сетования, что серверу обычно нужно читать заголовки (заголовок, длинна, тело) и прикреплена красивая картинка со схеомй работы протокола TCP. Скопировал сюда картинку и ссылки на документацию Python... И код сервера, и код клиента...
Сокеты в Python для начинающих
17.2. socket — Low-level networking interface
7.3. struct — Interpret strings as packed binary data
Сначала картинка из комментариев к посту¶
В документации можно поискать команды (и модули) для работы по TCP... Но надеюсь, что мне это не скоро понадобится...
from IPython.display import Image
Image(url="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Tcp_state_diagram_fixed.svg/796px-Tcp_state_diagram_fixed.svg.png")
Сервер¶
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
sock = socket.socket()
sock.bind(('', 9090))
sock.listen(1)
conn, addr = sock.accept()
print 'connected:', addr
while True:
data = conn.recv(1024)
if not data:
break
conn.send(data.upper())
conn.close()
Клиент¶
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket
sock = socket.socket()
sock.connect(('localhost', 9090))
sock.send('hello, world!')
data = sock.recv(1024)
sock.close()
print data
Посты чуть ниже также могут вас заинтересовать
Комментариев нет:
Отправить комментарий