>  Q&A  >  본문

java - IM即时通信服务器原理

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

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

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

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

除了openfire还有什么 开源实现

黄舟黄舟2744일 전628

모든 응답(2)나는 대답할 것이다

  • 巴扎黑

    巴扎黑2017-04-18 10:51:37

    node.js + 소켓.io
    웹소켓

    이전에는 node.js + 소켓.io를 사용하여
    연결 정보를 json에 넣었습니다. 키를 사용하여 사용자가 누구인지 식별하면 전송된 메시지에 이 키와 서버가 보관됩니다.
    웹으로만 알고 있고 그 외 사항은 잘 모르겠습니다

    회신하다
    0
  • 迷茫

    迷茫2017-04-18 10:51:37

    단순 QQ와 비교해 보세요. QQ 사용자가 클라이언트에 로그인을 시작한 후, 사용자는 실제로 자신이 온라인 상태임을 서버에 알립니다. 그러면 클라이언트는 이때 서버의 모니터링 상태를 처리합니다. 대일 메시지는 사용자 A입니다. 메시지를 보내면 메시지 내용에는 내용과 수신자 B가 포함되어야 합니다. 서버는 메시지를 청취한 다음 수신자 B를 기반으로 clientSocket-B를 얻고 대략 다음과 같이 A의 메시지를 B에 전달합니다. 이

    회신하다
    0
  • 취소회신하다