将动态更新数据从python服务器发送到许多客户端

时间:2017-12-10 03:44:43

标签: python sockets python-multithreading multipoint

首先,如果我犯了一些大错误,我会道歉,我是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 个答案:

没有答案