当前搜索:

IM设计思考:XMPP消息格式

交换消息是XMPP的一个基本用途并且随之而来的是一个用户生成一个发给另一个实体的消息节。 XMPP定义的消息节语法完整格式如下: I implore you!...
阅读(13345) 评论(2)

IM设计思考:试问

用过IM很多年了,直到最近才开始好好想想IM的实现需要考虑哪些方面? 特别是在海量用户的IM环境下,需要考虑哪些方面,自己大概思考了下总结如下: 1.  海量接入 QQ的最高在线用户超过了1亿,那么大约每台服务器能接入多少用户? 如何将海量的登陆用户平均负载到接入服务器集群? 某台接入服务器过载崩溃时如何平滑转移,避免“多米诺”骨牌效应。 2.  安全认证 登陆认证时...
阅读(2932) 评论(0)

IM设计思考:XMPP安全机制

XMPP(Extensible Messaging and Presence Protocol)是一个应用于实时通信的开放协议,定义了有关即时消息通信的各方面内容,本文主要是关于XMPP安全机制的介绍以及设计实现思考。 XMPP包含一个保证流安全的方法来防止篡改和偷听,包括两个层次的安全机制,分别是TLS(Tansport Layer Security)和 SASL(Simple Authe...
阅读(7007) 评论(2)

IM设计思考:XMPP资源绑定

XMPP协议设计中引入了一个抽象的资源绑定过程,何为资源,如何绑定? 首先这得从JID的格式设计说起,JID是XMPP前身Jabber协议ID的简写,用于唯一标识一个客户身份。一个合法的 JID 包括一组排列好的元素,包括域名(domain identifier),节点名(node identifier),和资源名(resource identifier),如下: jid = [...
阅读(3693) 评论(0)

天空之城:统一开发平台

曾经在一家小公司工作一段时间后被一个大集团收购,集团旗下有十多个小公司,于是开始推行一种统一开发平台,统一所有开发人员的开发模式提升规模效应。 我曾使用那个平台进行业务系统开发,一套使用XML自定义的简化程序语言加上内嵌的特殊的业务函数,只能在特定的测试机上进行程序解释翻译调试。 编写的过程,不需要IDE,只用文本编辑器足够,调试是个黑盒子,错误定位极其困难,业务开发人员被解脱为只需要懂业务流...
阅读(2880) 评论(0)

程序的感觉

早在读中学的时候,每周语文老师都要求写一篇周记,主要是以议论文为主。 那时我最讨厌写的正是议论文,我总是违背老师尝试了各种各样的体裁来完成作业,比如科幻小说、唐诗、宋词、现代诗、散文等。 但写的最多的还是散文,可能跟我的思维习惯有关,比较发散和跳跃。 散文本身就是一种独特的文体,讲究的是“形散而神聚”,要写好散文还是很难的。 十多年后我没有成为同学毕业留言中预言的作家,反而成了一名...
阅读(1927) 评论(0)

设计模式之觞

最近,读《编程人生》采访Jamie谈到有关对“设计模式”的看法,Jamie回答: “有本书叫《设计模式》,人人追捧,奉为圭臬。许多人都对这书着了魔,参加各种会议时,他们嘴里不时蹦出从书中读到的术语。比方说,反转-翻转-两次后空翻模式,简直一派胡言。”我们都知道,设计模式这本书里没有什么“两次后空翻模式”,Jamie只是在讽刺那些拿着这本“配方书”,找几个相近的模式,套着用就以为是设计和编程的人。...
阅读(1693) 评论(1)

框架的重装时代

还在学校时,我刚学习java大概一年左右,那时听到最多的就是java的重点是J2EE,而J2EE的核心是EJB。于是我大约花费了一个学期的时间来系统的学习了J2EE的相关东东,并用EJB实现了一个学生订课系统。这套基于JSP + EJB + WEBLOGIC + ORACLE的系统刚刚运行起来时真是非常的有成就感,感觉终于掌握了Java的核心了。     后来不久,我就去到一家公司实习,去了...
阅读(1745) 评论(1)

细细审视的你代码:异步消息处理

在工作中经常会碰到需要进行异步消息处理的业务场景,根据消息性质的不同有完全不同的处理方式。 1、消息不独立 不独立的消息通常是有顺序依赖关系,这时消息处理机制将退化为线性队列处理模式,只能由一个消费者去单线程处理消息。 2、消息完全独立 完全独立的消息,可以由多个消费者(线程)并发同时处理,可以达到最大的并发处理能力。 3、消息不完全独立 通常这种情况是,同源消...
阅读(1458) 评论(0)

细细审视的你代码:一点编程理解

通常有经验的程序员写出来的代码一开始可读性都是不错的,但随着需求变更,维护人员变化,慢慢架构开始腐化,代码开始变的混乱起来。 还有就是有时仅仅为了完成功能,而完全忽略了代码的可读性(非功能性需求)。 编程时如何保持对代码可读性的持续关注呢,举个小小的例子吧。 有一个简单的需求,写一个方法生成一个字符串key值,传入全类名、调用方法名返回key值,key的长度受外部条件约束不能超过50个字符。...
阅读(1502) 评论(0)

TCP/IP学习笔记:RIP

RIP 内部路由协议 路由器以主动方式使用RIP,主机以被动方式使用 RIP定义直连网络的距离为1,通常其他协议定义为0 RIP规定在得到费用更小的路由之前保持原有路由不变,避免路由振荡。 RIP路由通告的有效时间为180秒,180秒后没有收到下一次通告则置为无效路由 RIP固有的慢收敛问题,通常使用16跳代表无限远即无路由避免底层算法带来的不稳定性 RIP报文格式...
阅读(1196) 评论(0)

TCP/IP学习笔记:组播

组播 单播和广播可以看作是特定类型的组播,但组播可以跨多个物理网络。 组播保留地址段: 224.0.0.0 ~ 239.255.255.255 224.0.0.1 ~ 224.0.0.255 专用于组播路由协议和群组维护协议 组播地址只可用作目的地址,因此组播地址不会出现在数据报的源地址字段 实现组播的路由器和主机使用IGMP协议来进行群组成员间通信 组播路由和单播路由的最大...
阅读(1528) 评论(0)

TCP/IP学习笔记:路由与BGP

路由 路由器交换信息的通信量只能占底层网络通信量的一小部分,且必须限制参与交换路由器的数量和报文的大小。 通常的启发式原则是: 最多可以有12个路由器安全的参与广域网上的一个路由信息协议。 最多可以有60个路由器安全的参与一系列局域网上的路由信息协议。 若把参与一个路由更新协议的一组路由器作为一个默认交付系统,就会引起数据报的额外跳问题。 需要建立一种机制允许非核心路由器从核心...
阅读(1705) 评论(0)

TCP/IP学习笔记:TCP

TCP协议提供可靠的数据流服务,有以下5个特征 1. 面向数据流 2. 虚电路连接 3. 有缓冲的传输 4. 无结构的数据流 5. 全双工连接 TCP使用确认、重传来保障可靠性,采用滑动窗口机制来保障传输效率和进行流量控制 TCP报文段格式 6位code bit 其中窗口是16bit的捎带窗口通告 TCP报文段的最佳长度L的确定:当携...
阅读(1512) 评论(0)

TCP/IP学习笔记:UDP

UDP工作在TCP/IP协议分层第4层,是一种传输协议。 UDP使用IP协议来携带报文,提供不可靠的无连接传输服务,增加了对给定主机多个目的地进行区别的能力(基于协议端口) IP层只负责在互联网上的一对主机之间进行数据传输,而UDP只负责区分一台主机上的多个源端口或目的端口 UDP报文格式 UDP引入伪首部进行校验和计算 伪首部格式...
阅读(1050) 评论(0)
192条 共13页首页 上一页 ... 11 12 13 下一页 尾页
    个人资料
    • 访问:1312693次
    • 积分:12643
    • 等级:
    • 排名:第1228名
    • 原创:182篇
    • 转载:0篇
    • 译文:10篇
    • 评论:1032条
    文章分类
    最新评论