
IM软件业务知识
文章平均质量分 88
IM软件业务知识的分享,包括登录,消息,联系人等业务问题,还有协议问题。重点讨论了登录的健全,如何保持长连接、消息解析等关键技术。
hherima
移动互联网,大有可为!APP开发经历:飞信、和4G、搜狐视频、56视频等项目。
展开
-
拼图算法,将零碎小图,整理到一张大图之上,自动合并。二叉树实现
----------------------------------------------------欢迎查看IM软件业务知识《专栏》-------------------------------------------------------------------使用状态机来保持在线状态 【点击】 拼图算法,将零碎小图,整理到一张大图上【点击】登录导...原创 2014-08-15 10:53:17 · 16044 阅读 · 8 评论 -
IM软件客户端,使用状态机来保持在线状态
各个状态步骤说明:1. 启动登录(跟logout相似)2. 登录中。触发条件:手动登录,网络可用通知3. 登录成功4. 登录失败。原因有多种可能是网络5. 密码被改了,本地登录还是使用旧的密码,直接注销6. 因为网络问题掉线了7. 手动或被动注销,被踢。原创 2015-03-09 16:48:31 · 3584 阅读 · 0 评论 -
IM软件业务知识—导航
概述导航的概念,大家不陌生。最常见的就是地图导航,可以引导用户怎么到达目的地。另外还有一些“导航”,比如hao123网站,这类是上网用的。IM软件设计中也有导航这一模块,模块作用跟上面两类相似,但是有一些不一样。IM软件中的导航主要是为了“存放Server接入地址;避免写死url,从而采用动态的配置”。IM软件在使用中必然使用到一个http地址,那么这些地址一般是从导航中获取的,而不是写死原创 2014-06-24 15:25:58 · 2059 阅读 · 0 评论 -
IM软件业务知识—iOS 客户端创建网络连接,常见错误汇总
在做Server-Client项目的时候,需要Client登录和长连接原创 2014-05-12 15:55:47 · 13664 阅读 · 5 评论 -
浅谈IM软件业务知识—会话session的概念,附一张IM软件的层次图
session一般出现在计算机领域,IM软件中的session,老的IM有两层:首先是逻辑层的session来管理会话的参与者,消息列表,会话类型等等;还有协议层的session,主要是代表客户端跟服务器的一个事物通道。老的IM软件客户端跟Server交互的每一类操作都是基于会话。比如客户端登录,需要建立一个登录的会话;客户端发消息,需要建立一个会话。下面举例: 客户端向Serv原创 2014-06-19 15:39:45 · 4237 阅读 · 0 评论 -
【原理】UITableview Deceleration 加速滑动(惯性滑动)、弹性回归原理
一、前言之前做Symbian项目,由于软件的界面完全是自绘的。所以列表也是自绘,所以,列表的滚动也要自己做,然后就试着做了两个引擎:1.惯性滑动引擎:用于列表比较长,快速滑动,加速滑动。2.弹性回归引擎:用于列表已经滑动到顶端(末端)需要再往下(往上)移动一些距离,表示别表已经到头。引擎每隔0.04秒(大约是每秒24帧)就刷新一次,由于是GC绘制,所以每次滑动时需要条用绘制函数。效原创 2013-03-20 11:24:28 · 8674 阅读 · 2 评论 -
浅谈IM软件业务知识-实现富文本解析,如:解析字符串、网络链接等
之前在某IM项目中做开发,项目涉及到字符串解析的功能,例如:在输入框输入"/微笑"到聊天窗口中就可以显示为微笑的图片。如何实现这种“文本->图片”的转换,这就使用到了多叉树的数据结构。整个过程需要三步:第一步:准备好表情资源。首先说以下表情图片的特殊性,由于表情都是png格式,为了节省空间将所有表情合成为一张png图片。拿表情前3个,微笑 大笑眨眼 为例,每一个表情定义一个结构体structEmotio原创 2013-03-20 15:09:11 · 3178 阅读 · 1 评论 -
protocolBuf 在iOS上的使用入门、讲解、指南
PB一种语言无关、平台无关、扩展性好的用于通信协议、数据存储的结构化数据串行化方法。支持C++、Python、Java三种语言。Protocolbuf 比XML● 更简单● 小3-10倍● 快20-100倍● 更少的歧义● 可以方便的生成数据存取类下面是iOS上使用的ppt截图,有需要原件的请留言!iOS的详细环境配置见 http://blog.csdn原创 2014-03-19 15:45:09 · 4940 阅读 · 1 评论 -
浅谈IM软件客户端的断线重连、心跳和长在线
概述IM软件有一个基本的功能就是长在线,即只要有网络就保持登录,然而,网络状态是无法预测的,所以IM软件经常会有”离线“状态,尤其是手机客户端。当然,我只是列举了造成不能长时间在线的一个原因,还有比如:服务器更新,需要强制把客户端注销;还有本客户端被其他客户端踢;比如网络状况可用的时候,自动断线重连。目前的qq和飞信都有断线重连机制。断线重连的定义:1、用户已经成功登录IM原创 2014-05-27 11:30:59 · 10784 阅读 · 1 评论 -
浅谈IM软件如何建立安全socket连接、登录
概述 14年3月份,在QQ发布带有“支付功能和设备锁”的版本的时候,当时就想写一下IM软件安全登录相关的博客。如今IM软件已经逐步称为一个平台,他的安全性不可马虎!今天有时间,写一段IM登录的文章吧 提到登录,作为IM软件第一步可谓首当其冲,用户密码在此处输入,安全意义不言而喻。登录信是最复杂信令之一,可以肯定的说,登录信令的应答码是最多的,不仅仅有200错误码,400错误码,原创 2014-06-16 16:09:09 · 6720 阅读 · 0 评论 -
浅谈IM软件的“假在线’
概述假在线,在不可用的网络情况下,IM软件仍显示在线。假在线是一个“在线——离线”之间的一个状态,在此期间,用户无法发送消息,给用户造成错觉假在线可以通过心跳(点击了解),缓解;之所以说缓解,是因为假在线没法根除。造成假在线的条件通常就是网络原因IM软件出现,假在线,给用户的感觉是,该IM软件不够聪明。有时候,用户知道网络不可用了,但是软件仍然没有反应过来。举2个例子:例1:用原创 2014-06-16 16:47:07 · 3216 阅读 · 0 评论 -
浅谈IM软件业务知识——非对称加密,RSA算法,数字签名,公钥,私钥
概述 首先了解一下相关概念:RSA算法:1977年由Ron Rivest、Adi Shamirh和LenAdleman发明的,RSA就是取自他们三个人的名字。算法基于一个数论:将两个大素数相乘非常容易,但要对这个乘积的结果进行 因式分解却非常困难,因此可以把乘积公开作为公钥,该算法能够抵抗目前已知的所有密码攻击。RSA算法是一种非对称算法,算法需要一对密钥,使用其中一个 加密,需要使用另外一个才能解密。我们在进行RSA加密通讯时,就把公钥放在客户端,私钥留在服务器。 RSA非对称加密算法,可原创 2014-06-17 15:46:33 · 5468 阅读 · 0 评论