簡體   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