Я пытаюсь исследовать использование сокетов в python для потоковой передачи данных на игрушечном примере:
До сих пор я создал следующий код для сервера:
from socket import *
import time
s = socket(AF_INET, SOCK_STREAM)
s.bind(('', 10000))
s.listen(5)
while True:
client, addr = s.accept()
print('Got a connection from %s' % str(addr))
timestr = time.ctime(time.time()) + "\r\n"
client.send(timestr.encode('ascii'))
client.close()
Код для клиента:
from socket import *
s = socket(AF_INET, SOCK_STREAM)
s.connect(('localhost', 10000))
tm = s.recv(1024)
s.close()
print('The time is %s' % tm.decode('ascii'))
Это работает. Теперь я хотел бы преобразовать этот код так, чтобы сервер отправлял строку (независимо от того, что) каждую секунду, а клиент печатал ее. (т.е. тестирование потоковой передачи данных).
Я пробовал что-то вроде:
while True:
client, addr = s.accept()
print('Got a connection from %s' % str(addr))
while True:
timestr = time.ctime(time.time()) + "\r\n"
client.send(timestr.encode('ascii'))
time.sleep(1)
client.close()
Но безуспешно. Откровенно говоря, я немного растерялся. Я искал такой простой пример создания базового c обнаженного потокового примера, но я не нашел ничего, что соответствовало бы моему уровню сложности.
Любые указатели чрезвычайно ценятся.