python пример простого сокета клиент / сервер - PullRequest
0 голосов
/ 18 января 2020

Я пытаюсь исследовать использование сокетов в 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 обнаженного потокового примера, но я не нашел ничего, что соответствовало бы моему уровню сложности.

Любые указатели чрезвычайно ценятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...