问这个问题的背景是,学校的小学期项目是用C++实现一套小型的即时通讯软件,包括服务器端和客户端。一般来说想到的解决方案都是Socket异步通信、基于XMPP协议等等,但我没有C++写网络的经验,只会一些PHP写HTTP服务器端,时间上也比较紧迫,所以想到了这样的几个问题:
怪我咯2017-04-17 11:29:35
1 可以 相关技术 ajax comet websocket
2 资源占用不同 实时性不同
3 这个问题和你前面的问题冲突 到底是想问PHP的还是C++的
高洛峰2017-04-17 11:29:35
给出一个比较超前的解决方案,作为参考:node-webkit
+ Socket.io
+ Web前端综合技术
关于node-webkit
的介绍,可以看这里
巴扎黑2017-04-17 11:29:35
做im的方案一般有两种:自研or使用第三方sdk
一、首先我们说下自研,自研的坑主要有两个
1、成本高
2、稳定性差
im这块做起来不难,几个工程师花个十天半个月就能做出一套系统来。但是做过IM 的工程师一般不会去做,因为im拾是个坑,功能不全面,而且很容易出bug,比如消息到达不及时、消息记录看不到,尤其是用户量起来后,问题会更多,这个坑很难填完。
自己做im稳定性差,除非经验非常丰富。这个感悟是我的两个经历得出的感悟:
1)我曾经做过产品经理,参与到了一个平台性的产品开发,初期这个产品是团队自研的,功能本身不全面,后来用户越来越多,im这块问题也原来越多,而且影响到了整个web端和移动产品的开发进程
2)我后来的工作就是为开发者提供im服务,有很多开发者联系到我们说本来自己做的im,做好之后问题很多。
二、利益相关
我和我的团队为开发者提供im的sdk、api接口、demo源码,我们的主要优势有:
1、稳定性
做过im的同学应该都知道,im做不好的话是个填不完的坑,尤其是用户量起来后,收发消息延迟等等各种问题都就出来了,那我们是怎么保障稳定性的呢?
1)采用消息必达策略,已成功发送1000亿条消息;
2)即使同时在线人数飚升,自动水平扩展可以应接海量并发;
3)选用BGP机房、全球多点覆盖
2、安全保障
1)不切入用户系统,选择性托管帐号系统;
2)采用私有二进制加密协议、RSA+流式加密传输,数据文件多重备份确保数据安全;
3)IT信息安全体系认证
3、服务
我们在开发同学接触到云信开始就提供7*24小时1对1的技术支持,有任何问题都可以在任何时间找到我们,并给予解决方案,这样一来开发同学的效率也高,产品开发进展也快
获取sdk包 api接口 demo源码请私信我