即时通讯现在一般都使用的什么技术? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding.NET 轻量级社交
开源项目广场
使用帮助
意见反馈
machinemxy
V2EX    Coding

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

div id="topic_219022_votes" class="votes">
  •  
  •   machinemxy 2015-09-08 09:41:06 +08:00 6547 次点击
    这是一个创建于 3716 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简短交代下背景。最近我们公司正如火如荼进行着新技术学习动员会。一名同事被分到了研究即时通讯的实现。她花了几个星期研究了 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     Solana     4854 人在线   最高记录 6679 &nbs;     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:44 PVG 17:44 LAX 01:44 JFK 04:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86