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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題描述

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

但是一般的工程實現(xiàn) 都需要服務器進行轉(zhuǎn)發(fā)

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

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

除了openfire還有什么 開源實現(xiàn)

問題解答

回答1:

node.js + socket.io websocket

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

回答2:

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

標簽: java
相關(guān)文章:
主站蜘蛛池模板: 禹城市| 南乐县| 威海市| 东港市| 寿宁县| 科技| 西充县| 汉川市| 高阳县| 大同县| 水城县| 瑞安市| 墨江| 徐州市| 屏东市| 大安市| 韶山市| 梧州市| 横山县| 科尔| 图片| 武安市| 都安| 昌图县| 泊头市| 页游| 府谷县| 阳西县| 舟山市| 永济市| 汽车| 隆昌县| 内江市| 辽阳县| 鄯善县| 湘乡市| 乐亭县| 淄博市| 前郭尔| 耒阳市| 灵川县|