如何向套接字中的特定用戶發送訊息?如果我只是將一個物件及其地址系結到一個帶有其名稱的指標,我就可以向特定用戶發送訊息。
我正在套接字上制作一個簡單的信使,我想向特定用戶發送訊息。
例子:
users = {"user": <socket.socket fd=288, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.0.3', 9090), raddr=('178.70.167.46', 55663)>}
問題是,如果我重新啟動腳本(服務器),那么整個字典都會被清零。
我在哪里可以保存這樣的物件以便它可以重新啟動?我可以從 JSON 中獲取它嗎?
我可以手動輸入/創建資料以發送到特定客戶端嗎?
uj5u.com熱心網友回復:
1. 您可以保留一個包含收件人地址的json檔案,然后在打開時連接到他們。
2. 是的,你可以。但是,它不能作為串列或字典發送,您必須將其作為字串或其他內容發送
uj5u.com熱心網友回復:
您永遠無法保存套接字。套接字是兩個程式之間的連接。你不能單獨保存連接的一端,這是沒有意義的。當您的服務器程式終止時,整個連接都會消失,因為另一個程式不再連接到任何東西。
也許您可以在重新啟動程式后保存地址并建立新的連接。
您沒有“套接字中的特定用戶”。最有可能的是,每個用戶都有一個套接字。如果要向用戶發送資料,請使用該用戶的套接字發送資料。Users["user"].send(b"hello world")管他呢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/368151.html
標籤:Python 插座 聊天 信使 python-sockets
