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

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

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

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

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

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

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

所以,如果你觉得你的团队能很好地hold住.net以及.net可能会遇到的各种坑,我建议项目前期可以考虑.net,量起来之后再说
dingtianran
2014-01-07 18:06:24 +08:00
https://layer.com
XMPP/jabbar 协议的开发者搞的项目,提供通讯SDK,小规模App可以免费用,快速添加通讯功能
hjiang
2014-08-09 22:40:15 +08:00
试试 AVOS Cloud 的实时消息服务吧: https://avoscloud.com/features.html#/slide-2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/95049

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX