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

2014-06-28 13:20:17 +08:00
 WildCat
16322 次点击
所在节点    问与答
7 条回复
allenforrest
2014-06-28 14:33:43 +08:00
你想多了,移动端IM基本可以考虑XMPP方案,基于TCP
WildCat
2014-06-28 14:58:22 +08:00
@allenforrest Socket/Websocket都不合适是吧?
基础不好,对于通信协议不了解。朋友说想用Websocket做他的社交项目(iOS/Android)的聊天模块,我表示不适合,然后他不信,来这里求证。
viila
2014-06-28 15:22:20 +08:00
快速开发的角度用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
2014-06-28 15:26:41 +08:00
先前可能说得比较武断了,聊天场景的通讯需要考虑的方面还有比如,是否可以承载大量的连接,以及一些针对网络拥塞/队列的方案的优化,所以xmpp之类的有大量公司work在上面(openfire什么的)例子可能多点。
比较现实的,如果是自己实现的socket。那么服务端/客户端的对接,升级框架,容错方案,高并发高连接方案都得自己思考了 * * 坑还是蛮大的。

。请轻拍
Zjinys
2014-06-28 16:17:02 +08:00
可以去看看MQTT,靠谱。
cqhydz
2014-06-28 21:57:02 +08:00
WebSocket先用着,以后再改就行了,不要过度设计了,现在社交APP多如牛毛,能活下来再说。
lm902
2014-06-29 07:55:41 +08:00
WebSocket开发超级轻松的,看看http://signalr.net 的demo就知道了

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

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

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

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

© 2021 V2EX