Поиск по блогу

четверг, 25 сентября 2014 г.

Перечитал "Сокеты в Python для начинающих" ... обратил внимание на комментарии

Это статья на Хабре. Там простые примеры, а в комментариях есть сетования, что серверу обычно нужно читать заголовки (заголовок, длинна, тело) и прикреплена красивая картинка со схеомй работы протокола TCP. Скопировал сюда картинку и ссылки на документацию Python... И код сервера, и код клиента...

Сначала картинка из комментариев к посту

В документации можно поискать команды (и модули) для работы по TCP... Но надеюсь, что мне это не скоро понадобится...

In [2]:
from IPython.display import Image
In [4]:
Image(url="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Tcp_state_diagram_fixed.svg/796px-Tcp_state_diagram_fixed.svg.png")
Out[4]:

Сервер

In [*]:
#!/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()

Клиент

In [*]:
#!/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


Посты чуть ниже также могут вас заинтересовать

Комментариев нет:

Отправить комментарий