java - IM即时通信服务器原理
黄舟
黄舟 2017-04-18 10:49:37
0
2
667

点对点 的 可以直接使用socket进行通信

但是一般的工程实现 都需要服务器进行转发

那么我想请问 服务器管理那么多连接

它是如何做到 可以将消息发送给想发送的人的

除了openfire还有什么 开源实现

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(2)
巴扎黑

node.js + socket.io
websocket

之前做的是用node.js + socket.io
把連接的信息放到一個json中. 用key來標識是哪個用戶的. 然後發送的消息裡會持有這個key 服務端再通過key 轉發給對應的客戶端.
只知道web這些其它的不是很清楚

迷茫

就拿簡單的QQ比較,QQ用戶啟動客戶端登陸以後,實際就是用戶告知服務端我已經上線,那麼這時候客戶端就處理伺服器的監聽狀態,所謂一對一發訊息,就是用戶A發個訊息出去,然後訊息內容裡面肯定包含了,內容、接收者B,伺服器監聽到這個訊息,然後根據接收者B取得clientSocket-B將A的訊息轉發給B,大致如此

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板