[英]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.