[英]Sending and Receiving information with Sockets in Python
我目前正在用python创建一个TCP套接字服务器。 服务器应该从特殊的连接客户端接收json形式的数据。 然后,服务器应将数据分发给所有连接的客户端。
我的问题是我能够从客户端接收数据并将其解压缩到不同的json对象中。 但是,每当我尝试向其余客户端分发(发送)相同的json数据时,它将无法正常工作。 但是,如果我发送的是伪数据,也就是不是从特定客户端接收到的数据,则它们的所有工作都应该像预期的那样进行。
因此,问题在于服务器的接收部分和发送部分不能一起工作。 我知道这是可能的,但那根本行不通。
如前所述,当我使用虚拟数据发送给所有客户端时,它可以工作。 它使我认为,即使它应该能够发送,也无法发送与接收到的相同的数据。
问题示例:
def run(self):
while conn:
while True:
try:
# The receiving part
data = conn.recv(2048)
data = json.loads(data)
x = data.get("X")
z = data.get("X")
# The sending part
# It is to mention that I am looping through all clients,
# so sending to all clients is not the problem.
with client_list:
for c in CLIENTS:
message = json.dumps({"Title": "Coords", "X": x, "Z": z})
conn.sendall(coords.encode())
except Exception:
pass
我修好了它。 当我遍历所有连接的客户端时,我仍在使用conn发送。 不得不用c代替
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.