V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Coding.NET 轻量级社交
开源项目广场
使用帮助
意见反馈
machinemxy
V2EX  ›  Coding

即时通讯现在一般都使用的什么技术?

  •  
  •   machinemxy · Sep 8, 2015 · 6837 views
    This topic created in 3894 days ago, the information mentioned may be changed or developed.

    简短交代下背景。最近我们公司正如火如荼进行着新技术学习动员会。一名同事被分到了研究即时通讯的实现。她花了几个星期研究了 mqtt 协议,但是发现这个协议似乎是适用于群发而并非点对点的。我以前在校学习 Java 时,似乎老师讲述过一个使用 socket 实现点对点即时聊天的方法。但是时间也已经比较久远了,不知现在在 web 上,以及 app 内部那些涉及即时通讯的模块,都是用什么技术实现的?

    12 replies    2015-09-08 23:39:22 +08:00
    huijiewei
        1
    huijiewei  
       Sep 8, 2015
    以前用 XMPP ,最近听说出了一个更好的,但是不记得名字了
    squid157
        2
    squid157  
       Sep 8, 2015 via iPhone
    @huijiewei xmpp 也是中心化的 点对点不理解
    squid157
        3
    squid157  
       Sep 8, 2015 via iPhone
    mqtt 做消息队列

    web 的话,必须依靠服务器我感觉,并不能点对点,你不妨看看 WebSocket 和 WebRTC ,我并不清楚具体内容
    YuJianrong
        4
    YuJianrong  
       Sep 8, 2015 via iPhone
    为什么现在还要寻求点对点方案?中心中转压力并不大吧?点对点就要面对都在代理 /路由后面所以无法直接建立连接的问题。
    machinemxy
        5
    machinemxy  
    OP
       Sep 8, 2015
    @YuJianrong 唔,其实我也并不了解。只是想大致知道,个人对个人收发信息,大致会需要用到什么技术,然后给同事研究提供一个参考方向。
    machinemxy
        6
    machinemxy  
    OP
       Sep 8, 2015
    @squid157 谢谢。
    ibremn
        7
    ibremn  
       Sep 8, 2015
    点对点?那只适用于传文件吧。。

    Web 上一般用 WebSocket ,移动端过去 XMPP 用得比较多,目前 WebSocket 和 MQTT 更多一些。
    大厂一般会用私有的二进制协议而非开源的文本协议。
    caoyue
        8
    caoyue  
       Sep 8, 2015
    你说的点对点是指消息不经过服务器?但是建立连接还是得通过服务器交换信息

    Whisper TextSecure 是这种的,主打隐私和安全性,代码 Github 上有开源
    machinemxy
        9
    machinemxy  
    OP
       Sep 8, 2015
    @caoyue 唔,我表述有误。其实经过服务器也可以。只要能够做到两个人互相交流。
    yyfearth
        10
    yyfearth  
       Sep 8, 2015
    @squid157 WebRTC 应该是 p2p 的 只需要服务器做一下发现和管理
    WebSocket 比较合适做中心化的即时通讯 而且浏览器的支持也已经不错了 而且 fallback 用 Comet ( long pulling )加上支持 event driven 和异步处理 的服务器端 效果就不错了
    heighgun
        11
    heighgun  
       Sep 8, 2015
    XMPP 很少用了吧资源浪费实在太高,现在一般都是私有协议,参照 RFC 标准来写。
    lenran
        12
    lenran  
       Sep 8, 2015
    个人觉得依赖服务器的协议和 p2p 的协议各有千秋。
    不过长远来看,我认为 p2p 的通讯协议有更广更深的发展空间
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   927 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 21:23 · PVG 05:23 · LAX 14:23 · JFK 17:23
    ♥ Do have faith in what you're doing.