V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding.NET 轻量级社交
开源项目广场
使用帮助
意见反馈
machinemxy
V2EX  ›  Coding

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

  •  
  •   machinemxy · 2015-09-08 09:41:06 +08:00 · 6191 次点击
    这是一个创建于 3398 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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