我使用websocket-sharp(https://github.com/sta/websocket-sharp)(僅供應商方)。C#Websocket-Sharp - 如何識別客戶端
我可以有很多客戶端應用程序連接到我的websocket服務器。每個客戶發送一個ID(我們稱之爲CLIENT_ID
)。
我想知道哪個websocket會話與CLIENT_ID
有關。我們稱之爲SESSION_ID
)。
我曾嘗試:
首先我有一個存儲每個SESSION_ID
他CLIENT_ID
(一個簡單的字典)存儲類。
當我收到來自客戶端應用程序的消息時,我在我的字典中存儲SESSION_ID
和CLIENT_ID
。
所以,當我想發送消息到所有會話有CLIENT_ID == XXX
我可以使用這本字典。這工作正常...
但會話只是臨時。客戶可以使用多個會話。所以對於單個客戶,我很快會在我的字典中有很多輸入。當我發送郵件給所有具有CLIENT_ID == XXX
的詞典的會話時,我會多次向同一個客戶端發送相同的消息。
我的問題是:如何使用websocket-sharp註冊獨特的客戶端?我應該使用哪個屬性?
編輯:即使有一個唯一的客戶端,每20秒它會更改會話的ID。這可能是爲ping創建的新會話。