久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java - IM即時通信服務器原理

瀏覽:124日期:2024-01-29 14:39:35

問題描述

點對點 的 可以直接使用socket進行通信

但是一般的工程實現 都需要服務器進行轉發

那么我想請問 服務器管理那么多連接

它是如何做到 可以將消息發送給想發送的人的

除了openfire還有什么 開源實現

問題解答

回答1:

node.js + socket.io websocket

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

回答2:

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

標簽: java
相關文章:
主站蜘蛛池模板: 两当县| 洛南县| 青河县| 宜城市| 凤山市| 青冈县| 南部县| 都匀市| 阳江市| 辛集市| 桃源县| 宝应县| 黄冈市| 灵山县| 平武县| 盐边县| 岗巴县| 永定县| 栾城县| 丹棱县| 肥东县| 忻城县| 达拉特旗| 龙南县| 浑源县| 精河县| 文安县| 建水县| 兴宁市| 和政县| 闵行区| 梁山县| 保亭| 上高县| 政和县| 永新县| 弥勒县| 田东县| 调兵山市| 南靖县| 漳州市|