因为公司需求要在安卓和 ios 客户端上做即时聊天系统,请问有什么好的解决方案?

2014-08-01 11:32:09 +08:00
 zerox
首先卡在了协议上,选择什么协议比较好呢,还是说自己设计一套呢?
目前了解到的成熟的协议有XMPP和MQTT,感觉太重了;如果自己设计的话因为没有弄过,心里没底。
然后是服务器端的选择,貌似跟协议的选择也有关系。

假设同时在线10w吧,最好能扩容到100w,大家有什么比较成熟的解决方案吗?
14298 次点击
所在节点    程序员
56 条回复
railgun
2014-08-01 16:12:53 +08:00
同时在线能有个5w就吊炸天了
railgun
2014-08-01 16:13:45 +08:00
@bjlbeyond openfire是xmpp的服务端实现,xmpp不是个好东西,至少是应该被时代抛弃的东西
xujialiang
2014-08-01 16:27:08 +08:00
xmpp坑好多。。。。。。。。。。。
xujialiang
2014-08-01 16:28:37 +08:00
@odirus 请教下你们的方案 mail@xujialiang.net
qiayue
2014-08-01 16:28:59 +08:00
xiasix
2014-08-01 16:45:18 +08:00
@odirus 也 请教下你们的方案 邮箱 oofl#163.com

我们 也有这个需求 当时也调研了很久 java的话 就是 openfire+xmpp
我就会php 我用的nginx长连接+php http get post +腾讯的推送信鸽实现的

后来 主打聊天和通讯 直接选go语言 socket实现 十月份上线 一边自学go 一边写 到时候 我分享分享 哈哈哈
erylee
2014-08-01 17:15:13 +08:00
@zerox websocket版本已经商用很多年, 架构 http://nextalk.im/tech
erylee
2014-08-01 17:16:56 +08:00
@railgun XMPP肯定是不适合手机端,协议臃肿复杂、难以集成和扩展
erylee
2014-08-01 17:19:52 +08:00
@joshuasui 环信是XMPP上套了一层API...
odirus
2014-08-01 18:25:26 +08:00
@xujialiang 好的,晚上发
@xiasix 好的,晚上发
jucelin
2014-08-01 18:42:48 +08:00
huiyi.csdn.net/activity/product/goods_list?project_id=1255 CSDN在线培训——APP即时通讯功能开发实战讲座。这个可以听一听。
regent
2014-08-01 18:56:08 +08:00
华为 espace 解决方案
regent
2014-08-01 18:56:50 +08:00
抱歉 没有仔细看清 是内嵌聊天而不是单独im
zerox
2014-08-01 19:54:59 +08:00
@odirus imxxiao@gmail.com 期待来信,多谢。
mailworks
2014-08-01 20:59:49 +08:00
我们公司正在做IM解决方案,我是负责iOS端的,公司用的是自定义的二进制协议(HTTP + TCP(Socket))服务器端不是很了解只知道是Java写的
mailworks
2014-08-01 21:02:57 +08:00
Email
2014-08-01 21:30:13 +08:00
做IM就一个重点. 消息一条都不能丢....
我觉得选Mqtt挺好的, 不然...呵呵, 开发周期过完你们的产品都死了.

http://www.eclipse.org/paho/
qwong
2014-08-02 00:27:17 +08:00
MQTT不了解, XMPP真心不适合做移动端, 天生一个缺点就是报文太大, 浪费客户端流量.
如果有牛人有相关经验, 可以考虑自己开发协议, 否则最好还是用现成的开源的吧. 可以先基于开源软件简单快速的开发完上线, 后面再逐步优化.

如果一定要选XMPP协议, 会erlang的话选择ejabberd, java可以选择openfire, 也可以考虑tigase之类的, 资料相对少一些.
openfire优化一下撑10w在线没问题的, 不过还是有很多坑...特别是集群那一块.

其实最好的办法就是挖人啦, 不过这年头挖人也不好挖啊.
pljhonglu
2014-08-02 08:55:03 +08:00
使用现有协议开发都有现成的三方库可用,可以快速开发。自定义协议那就要自己去封装,包括服务器端,开发成本较高,看需求啦。个人认为先敏捷开发做出来再说,等到用户真的达到那么多了再考虑后续…因为目前im已经死了一批又一批啦。
robinlovemaggie
2014-08-02 09:19:42 +08:00
@zerox 我们公司有自己的机房,Linux 和Unix都用。

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

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

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

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

© 2021 V2EX