打算在iOS 上实现聊天功能,对于硬件配置不高的小玩家,怎么玩 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yabusai
V2EX    程序员

打算在iOS 上实现聊天功能,对于硬件配置不高的小玩家,怎么玩

  •  
  •   yabusai 2013-12-30 15:53:32 +08:00 6220 次点击
    这是一个创建于 4308 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一片空白,没有开发过聊天功能,网上有人说xmpp,也有人说tcp,还有人说udp,请高人指点
    12 条回复    2014-08-09 22:40:15 +08:00
    august
        1
    august  
       2013-12-30 16:00:00 +08:00
    yabusai
        2
    yabusai  
    OP
       2013-12-30 16:08:11 +08:00
    有人说,可以使用CocoaAsyncSocket 来实现,不知道效果如何?
    tab
        3
    tab  
       2013-12-30 18:30:39 +08:00 via iPhone
    硬件配置不高是啥意思?需不需要server端呢,要的话,XMPP开源项目一大把,LZ可以先从怎么把他们跑起来入手,然后再研究底层实现。如果只是要iOS设备之间通信的话就要看看网络协议了。仅供参考,我也不太了解相关技术细节,没法帮助更多了。
    Numbcoder
        4
    Numbcoder  
       2013-12-30 21:03:45 +08:00
    MQTT
    est
        5
    est  
       2013-12-30 23:14:17 +08:00
    socketio, sockjs协议。兼容了随手就把web端做了。
    androidBrant
        6
    androidBrant  
       2013-12-31 09:10:49 +08:00
    我没做过web开发,就用这个 https://cn.avoscloud.com 用推送实现聊天。。

    不知道你这问题是不是AB问题
    holy_sin
        7
    holy_sin  
       2013-12-31 09:34:08 +08:00
    xmp 不行吗
    winsky027
        8
    winsky027  
       2013-12-31 10:40:21 +08:00   1
    我们这边的iOS即时聊天服务端采用了nodejs写的tcp server,自己封装的二进制协议,本打算protobuf,node和iOS端的protobuf不是很活跃。

    如果不打算兼容浏览器,socketIO以及所有的websocket框架都不是很合适,web socket本质上是离http比较近,建立连接时在tcp之上有几次来回握手验证过程。

    如果打算兼容浏览器,socketIO也不合适,socketIO在对浏览器兼容性的处理上采用websocket和长轮训并举的方案,不支持websocket的浏览器降级为长轮训,这里可以看出socketIO为了达到一统天下的兼容性做了很多妥协,性能和潜在bug也不可控

    iOS端我们使用了cocoaAsyncSocket库,这个开源项目非常优秀,对socket操作的封装以及封包、解包、粘包问题解决的很好。
    yabusai
        9
    yabusai  
    OP
       2013-12-31 12:04:34 +08:00
    @winsky027 ,我正在看cocoaAsyncSocket,根据示例来看,很好用,服务端另我很是纠结,.net 方面的我还懂点,其它的就只能干瞪眼了,如果用.net ,不知有没有好的建议!!
    winsky027
        10
    winsky027  
       2013-12-31 15:47:10 +08:00   1
    @yabusai 我们刚开始做的时候,也是多方考察,考虑过基于java python的事件框架,也考虑过c++的asio,后来考虑开发成本和现有人员的研究成本,选用nodejs现在来看还是不错的。

    考虑了业务逻辑和数据存储之后,c++、python、java、.net的性能差距会被拉小,开发成本和对整个项目的控制到后期挺重要的

    所以,如果你觉得你的团队能很好地hold住.net以及.net可能会遇到的各种坑,我建议项目前期可以考虑.net,量起来之后再说
    dingtianran
        11
    dingtianran  
       2014-01-07 18:06:24 +08:00
    https://layer.com
    XMPP/jabbar 协议的开发者搞的项目,提供通讯SDK,小规模App可以免费用,快速添加通讯功能
    hjiang
        12
    hjiang  
       2014-08-09 22:40:15 +08:00
    试试 AVOS Cloud 的实时消息服务吧: https://avoscloud.com/features.html#/slide-2
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1349 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 23:59 PVG 07:59 LAX 16:59 JFK 19:59
    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