2017-05-01 61 views
0

比方說,我想確定每個用戶啓動連接到一個php websocket服務器(棘輪)。Websocket和用戶標識(PHP)

每個用戶在我的數據庫中都有一個唯一的令牌(我知道的不夠安全,但讓我們保持簡單的例子)。

打開到WS服務器的連接時檢查我的數據庫是否與任何用戶匹配,並且如果允許繼續並存儲WS的連接ID以便能夠將用戶鏈接到ws連接。

然後連接的用戶ID 1想的到消息發送到連接的用戶ID 2

我要在數據庫中的用戶2的連接ID,以便能夠將消息發送給搜索?或者是否有其他選擇,比如全局數組保留在內存中什麼地方以及WS服務器可以一直訪問的地方?這是不是請求數據庫少重,如果我只是可以存儲「用戶ID」,並直接在內存什麼的「WS連接ID」之間的聯繫

回答

0

這是不是請求數據庫如果少了重我只可以存儲「用戶ID」,並直接在內存或「內存存儲」的東西

如果「WS連接ID」之間的聯繫,你的意思是在同一會議,然後PHP SESSIONS是什麼你需要。這樣,您想要在同一個會話中訪問的每個信息都會「存儲在內存中」。

+0

做網絡套接字支持會話是一樣的Web服務器? – nogad

+0

他使用的是'Ratchet',這是一個PHP庫,所以是的。 –

+0

是的,但會話鏈接到一個用戶,我想要一個全局數組來存儲每個用戶和每個連接之間的鏈接,以便能夠一次找到多個用戶的連接,而無需每次連接到我的數據庫 – Owow