1
august 2013-12-30 16:00:00 +08:00
|
2
yabusai OP 有人说,可以使用CocoaAsyncSocket 来实现,不知道效果如何?
|
3
tab 2013-12-30 18:30:39 +08:00 via iPhone
硬件配置不高是啥意思?需不需要server端呢,要的话,XMPP开源项目一大把,LZ可以先从怎么把他们跑起来入手,然后再研究底层实现。如果只是要iOS设备之间通信的话就要看看网络协议了。仅供参考,我也不太了解相关技术细节,没法帮助更多了。
|
4
Numbcoder 2013-12-30 21:03:45 +08:00
MQTT
|
5
est 2013-12-30 23:14:17 +08:00
socketio, sockjs协议。兼容了随手就把web端做了。
|
6
androidBrant 2013-12-31 09:10:49 +08:00
|
7
holy_sin 2013-12-31 09:34:08 +08:00
xmpp 不行吗
|
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操作的封装以及封包、解包、粘包问题解决的很好。 |
9
yabusai OP |
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,量起来之后再说 |
11
dingtianran 2014-01-07 18:06:24 +08:00
https://layer.com
XMPP/jabbar 协议的开发者搞的项目,提供通讯SDK,小规模App可以免费用,快速添加通讯功能 |
12
hjiang 2014-08-09 22:40:15 +08:00
试试 AVOS Cloud 的实时消息服务吧: https://avoscloud.com/features.html#/slide-2
|