繁体   English   中英

Python 3.9 sockets 问题向客户端发送数据 sockets

[英]Python 3.9 sockets issue sending data to client sockets

我一直在使用套接字和 tkinter 在 python 中创建一个聊天室应用程序。 每当我尝试向服务器发送消息时,都会收到以下错误:

不允许发送或接收数据的请求,因为未连接套接字并且(当使用 sendto 调用在数据报套接字上发送时)未提供地址

我不确定是什么导致了这个问题。

代码:

print("Sending message from server")

for clientKey in data.sockets.keys():
    data.sockets[clientKey]["socket"].send(bytes(f"{data.sockets['server']['username']}: {message}", "utf-8"))

log(f"{data.sockets['server']['username']}: {message}")
print("Sent message from server")

程序到达第一个打印语句。

对于上下文,我有一个 tkinter 文本小部件和 function log(text)只是将文本插入到小部件中。 它与套接字模块无关。 对于更多上下文,这是data class 中客户信息的样子:

data.sockets["server"] = {"socket": sock,
    "username": "Host",
    "thread": threading.Thread(target = receiveMessages, daemon = True)}
data.sockets["server"]["thread"].start()

这是服务器的信息,但客户端的布局相同。

问题是我从未创建过if clientKey != "server" ,这意味着每次我尝试从服务器发送消息时,它都会尝试向服务器发送消息,这显然是不可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM