IM即时通信
文章平均质量分 81
vince_zw
这个作者很懒,什么都没留下…
展开
-
openfire中的集群技术及其原理
对即时聊天了解的可能会听说过openfire,原创 2014-09-21 10:20:36 · 3221 阅读 · 0 评论 -
erlang开发入门
最先接触erlang是在今年的年初,当时是因为RabbitMQ而结识的erlang,了解后才知道的COP(Concurrency Oriented Programming)面向并发编程。为什么我会决定要学习Erlang,首先是因为我对函数式编程的好奇,一直以来我都觉得很神秘,然后主要的原因还是我想通过学习Erlang去了解RabbitMQ、ejabberd、Tsung这几个比较出名的技术,Ra原创 2014-11-07 19:58:15 · 3049 阅读 · 0 评论 -
企业自建的苹果通知推送系统的架构演进与探索
企业的APP开发中,对于苹果设备有个独特的通知推送功能要解决,尤其是在做移动IM时,对APNS(Apple Push Notification Service)的要求比较高,虽然有专门的第三方提供此类服务,但出于安全的考滤,有能力的公司宁愿自建推送服务系统。本人结合工作中的开发经验,在这探讨一下其架构的演进与探索,希望能使此类系统更加完美。IM系统自建苹果通知推送服务系统的层级关系如下:原创 2014-10-28 19:43:55 · 1542 阅读 · 0 评论 -
高性能网络框架Netty的TCP拆包、粘包解决方案
简单地说,网络通信时由于TCP会对传输的数据报进行对用户透明的拆分与重新组装,然后将拆分后的分别发送,而我们接收时要获取发送时的数据报,如何再对其拆分与组装,以便于我们能知道报文的意思,这个提取报文的过程就是TCP的拆包与粘包,在我们自己做底层的通信设计时,这是必须要考虑的。结合最近在做一个和通信相关的项目,本文讲几个经典且常用的几种粘包与拆包方法及其在Netty中的实现,Netty是高性能的通信...原创 2014-11-14 20:27:31 · 9183 阅读 · 0 评论 -
Flex与Netty实现的WEB版IM(即时聊天)
Apache Flex是基于MXML和ActionScript的Flash程序设计框架,可以快速开发RIA(富Internet应用)程序,Netty是JAVA实现的高性能的网络通信框架,可以快速构建网络应用的服务端。即时通讯现在已经非常普遍了,本文以简单的WEB版聊天为例浅谈IM系统的设计与原理,最后再探讨下大规模集群下的服务端的瓶颈与解决思路。1、可用的方案选型(1)socket原创 2014-11-27 20:07:23 · 7423 阅读 · 4 评论 -
文件断点续传原理与实现
在网络状况不好的情况下,对于文件的传输,我们希望能够支持可以每次传部分数据。首先从文件传输协议FTP和TFTP开始分析,FTP是基于TCP的,一般情况下建立两个连接,一个负责指令,一个负责数据;而TFTP是基于UDP的,由于UDP传输是不可靠的,虽然传输速度很快,但对于普通的文件像PDF这种,少了一个字节都不行。本次以IM中的文件下载场景为例,解析基于TCP的文件断点续传的原理,并用代码实现。原创 2014-12-06 21:44:05 · 12368 阅读 · 1 评论 -
探索图论在IM集群环境下的应用
我在工作中遇到了IM集群环境下消息路由问题,当集群数小时可以用内存共享的方案,当集群结点变多时,共享的数据同步会成为系统的瓶颈,为此我从网络中TCP报文的路由原理得到灵感,想了一个不用共享内存的方案,而且理论上支持大规模的集群。应用场景如下,红色与蓝色是服务结点,橙色代表客户端结点:当一个橙色结点要给另一个橙色结点发消息时,我们应该如何设计消息的路由策略?上图是我们理想的消息路原创 2014-12-07 13:23:57 · 1709 阅读 · 3 评论 -
详解APNS苹果消息推送通知
苹果消息通知什么?如下图如示就是APP的服务端在用户未打开APP进程时,还能发通知给用户APP的服务技术相关概念Provider:提供推送的第三方服务系统Device:苹果设备,例如iphone和ipad等APNS:苹果推送消息服务,属于苹果的服务APP:安装在苹果设备上的应用程序DeviceToken:设备的标识,用于确定接收通知的设备及APPPayl原创 2015-06-19 19:59:21 · 3600 阅读 · 0 评论