WildCat
V2EX  ›  问与答

WebSocket/Socket 哪个更适合用来做 iOS/Android 客户端聊天场景的通讯?Socket 是否更节约资源?WebSocket 是否更适合浏览器使用而不是移动端?

  •  2
     
  •   WildCat · Jun 28, 2014 · 17311 views
    This topic created in 4339 days ago, the information mentioned may be changed or developed.
    7 replies    2014-06-29 07:55:41 +08:00
    allenforrest
        1
    allenforrest  
       Jun 28, 2014 via iPhone   ❤️ 1
    你想多了,移动端IM基本可以考虑XMPP方案,基于TCP
    WildCat
        2
    WildCat  
    OP
       Jun 28, 2014 via iPhone
    @allenforrest Socket/Websocket都不合适是吧?
    基础不好,对于通信协议不了解。朋友说想用Websocket做他的社交项目(iOS/Android)的聊天模块,我表示不适合,然后他不信,来这里求证。
    viila
        3
    viila  
       Jun 28, 2014   ❤️ 1
    快速开发的角度用websocket我觉得蛮快的,mobile平台有好多对接websocket的现成库可以用。
    非要评价的话,虽然websocket的开销比较大(存储结构比较直接),也比xmpp之类的xml好。

    当然最好还是自己利用socket+序列化的方法比如xml,json,protobuf,msgpack,或者新的FlatBuffers实现会好点吧。

    另外,印象中google webrtc的demo apprtc里面的长连接方案通过封装网页websocket接口在上层(java/oc)调用(后台跑一个browser,把GAE Channel的调用/响应通过GAEHandler.java传递上上层),简单的思路实现了与网页端共享server接口。
    viila
        4
    viila  
       Jun 28, 2014   ❤️ 1
    先前可能说得比较武断了,聊天场景的通讯需要考虑的方面还有比如,是否可以承载大量的连接,以及一些针对网络拥塞/队列的方案的优化,所以xmpp之类的有大量公司work在上面(openfire什么的)例子可能多点。
    比较现实的,如果是自己实现的socket。那么服务端/客户端的对接,升级框架,容错方案,高并发高连接方案都得自己思考了 * * 坑还是蛮大的。

    。请轻拍
    Zjinys
        5
    Zjinys  
       Jun 28, 2014 via iPhone
    可以去看看MQTT,靠谱。
    cqhydz
        6
    cqhydz  
       Jun 28, 2014
    WebSocket先用着,以后再改就行了,不要过度设计了,现在社交APP多如牛毛,能活下来再说。
    lm902
        7
    lm902  
       Jun 29, 2014 via Android
    WebSocket开发超级轻松的,看看http://signalr.net 的demo就知道了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2891 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 15:00 · PVG 23:00 · LAX 08:00 · JFK 11:00
    ♥ Do have faith in what you're doing.