点对点 的 可以直接使用socket进行通信
但是一般的工程实现 都需要服务器进行转发
那么我想请问 服务器管理那么多连接
它是如何做到 可以将消息发送给想发送的人的
除了openfire还有什么 开源实现
巴扎黑2017-04-18 10:51:37
node.js + socket.io
websocket
之前做的是用node.js + socket.io
把連接的信息放到一個json中. 用key來標識是哪個用戶的. 然後發送的消息裡會持有這個key 服務端再通過key 轉發給對應的客戶端.
只知道web這些其它的不是很清楚
迷茫2017-04-18 10:51:37
就拿簡單的QQ比較,QQ用戶啟動客戶端登陸以後,實際就是用戶告知服務端我已經上線,那麼這時候客戶端就處理伺服器的監聽狀態,所謂一對一發訊息,就是用戶A發個訊息出去,然後訊息內容裡面肯定包含了,內容、接收者B,伺服器監聽到這個訊息,然後根據接收者B取得clientSocket-B將A的訊息轉發給B,大致如此