我剛開始工作節點js.I一直在嘗試使用節點js創建聊天應用程序。其中一個用戶可以通過多個設備或瀏覽器登錄。如果我沒有錯,並且據我瞭解每個瀏覽器與不同的端口地址通信,因爲套接字連接是由IP地址和端口地址定義的,因此當同一用戶從兩個不同的瀏覽器登錄時,服務器會創建兩個不同的套接字Id.Now如果用戶已通過檢查發送到套接字信息的參數連接。那麼如果用戶已連接或套接字已爲用戶設置,那麼我創建連接以將套接字標識更改爲之前套接字標識爲。節點js中的套接字連接
io.on('connection', function(socket){
socket.id = k;
});
其中k是先前連接的同一用戶的套接字ID查閱
當任何其他客戶端發出消息,那麼當前用戶是插座ID替換和僅一個瀏覽器獲得的消息或二者獲取消息。服務器的連接是爲瀏覽器還是單個瀏覽器設置的。請幫助我。我仍然不清楚在客戶端和服務器之間如何建立套接字連接。 如果我錯誤地做了任何假設,請改善或者我如何解決下面的情況。 在此先感謝
我的問題恰恰是針對不同的瀏覽器或計算機。當用戶從多臺計算機登錄或可能是不同的瀏覽器時會發生什麼情況。 –
不同的瀏覽器或不同的計算機(當你沒有房間/名稱空間的實現)將會有相同的許多選項卡。插座可以讓我們說'someIp:somePort'例如'98.45.32.21:3000',不會改變,所以,當發送「hello」的服務器會用hello(在上面的實現中)回覆所有人。 – mkaran
如果您希望用戶從兩個不同的瀏覽器登錄並看到相同的消息 - 但只有他的消息,那麼您應該將該用戶與正確的房間相關聯,以便當他從另一個瀏覽器連接並且您知道它是用戶sagar',你會和他一起進入正確的房間。 – mkaran