国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

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

瀏覽:122日期: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
相關文章:
主站蜘蛛池模板: 宜州市| 东台市| 永寿县| 中卫市| 东丰县| 湖州市| 佛坪县| 调兵山市| 外汇| 南安市| 六盘水市| 磐安县| 林州市| 洛浦县| 婺源县| 赣榆县| 河津市| 古浪县| 古交市| 黎平县| 德格县| 芜湖县| 镇原县| 通化县| 昌宁县| 吉隆县| 鸡泽县| 宿迁市| 浦东新区| 乌什县| 扎赉特旗| 丰城市| 吉林省| 乌拉特后旗| 南平市| 林口县| 合水县| 建昌县| 凯里市| 怀来县| 黑龙江省|