Отправлять динамически обновляемые данные с сервера Python многим клиентам

Сначала я извинюсь, если я сделал какую-то большую ошибку, я новичок в Python. Я пытаюсь написать программное обеспечение, используя python-сокеты, чтобы генерировать случайное число каждые 10 секунд и отправлять его нескольким клиентам. До сих пор мне удавалось создать сервер и подключить несколько клиентов, но случайные числа, которые генерируются и отправляются каждому клиенту, отличаются. Я пытаюсь сделать их одинаковыми.

Вот мой код сервера:

import sys, time, socket, threading, random

def newClient(c):
    global data
    c.send("Connected to stream".encode())
    while True:
        c.sendall(str(data).encode())
        time.sleep(10)

def setData():
    data = random.random()
    return data

def readData():
    global data
    while True:
        data = setData()

port = 12312
ssock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssock.bind(('', port))
ssock.listen(5)

data = random.random()
threading.Thread(target=readData).start()

while True:
    c, addr = ssock.accept()
    print("[-] Connected to " + addr[0] + ":" + str(addr[1]))
    threading.Thread(target=newClient, args=(c,)).start()

Если бы кто-то мог указать мне правильное направление, чтобы мой сервер отправлял одинаковые данные обоим клиентам, я был бы очень благодарен.

0 ответов

Другие вопросы по тегам