摘要: 摘要:此文档定义了可扩展消息出席协议(XMPP)的核心特性:协议使用XML元素在任意两个网络端点间近实时的交换结构化信息。当XMPP为交换XML数据提供一般化,可扩展的框架时,它主要用于建立满足RFC2779的即时消息与出席应用的需求。1介绍1.1概要 XMPP是一个开放的可扩展标记语言[XML]协议,用于近实时的消息、出席与请求-响应服务。基本语法语义最初是由Jabber开源社区在1999年开发的。2002年,XMPP工作组授权开发一个Jabber协议的改写本,将适用于IETF的即时消息(IM)与出席技术。作为XMPP工作组的成果,此文档定义了XMPP 1.0的核心内容;提供即时消息与出席功 阅读全文
posted @ 2013-12-16 18:37 zhengrunqiang 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 通过WireShark抓包来具体分析XMPP协议,下面用人人桌面版演示了,XMPP客户端从登录到获取新鲜事的过程,通过分析具体的数据包能够更容易的理解协议。Step1.TCP三次握手建立连接图1.xmpp客户端使用5222端口,设置SYN请求连接图2.服务器返回ACK,确认请求,同样设置SYN请求连接图3.客户端确认服务器连接请求,连接建立完毕。Step2.客户端请求,服务器响应。图4.客户端发送Jabber/x Request请求,客户端初始化流给服务器图5.服务器返回Jabber/x Response,服务器发送一个流标签给客户端作为应答图5.5服务器发送 STARTTLS 范围给客户端( 阅读全文
posted @ 2013-12-16 15:37 zhengrunqiang 阅读(644) 评论(0) 推荐(0) 编辑
摘要: XMPP协议简介XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的。它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。并且XML很易穿过防火墙,所以用XMPP构建的应用不易受到防火墙的阻碍。利用XMPP作为通用的传输机制,不同组织内的不同应用都可以进行有效的通信。XMPP协议特点1)所有XMPP信息都是以XML为基础的,信息交换的事实标准,扩展性强2)XMPP系统是一个分布式系统,每台服务器控制自己的资源 阅读全文
posted @ 2013-12-16 15:30 zhengrunqiang 阅读(1232) 评论(0) 推荐(0) 编辑
摘要: Jabber 是著名的Linux即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。Jabber最有优势的就是其通信协议,可以和多种即时通讯对接。目录1介绍客户端使用方法扩展应用2许可证3应用4优点5运作方式6其他协定7软件8弊端1介绍Jabber有第三方插件,能让Jabber用户和MSN、YahooMessager、ICQ等IM用户相互通讯。因为Google遵从Jabber协议,并且Google已经将Gtalk的服务器开放给了其它的Jabber服务器。所以PSI、Giam等Jabber客户端软件支持GTalk用户登陆。j 阅读全文
posted @ 2013-12-16 15:28 zhengrunqiang 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 昨天说到自己会更新自己这几个月对于WPF的学习过程和一些项目实际开发所学习的东西,两个星期前换了工作,没想到现在来到新的XX公司,找我就是为了做WPF,但是一来到项目组,做的第一个任务,其实本身和WPF关系不大,想来想去还是觉得就放在WPF博客园分类这一块吧,毕竟这是缘分嘛,我将倒序自己学习WPF过程和一些小总结 今天先说说前几天做的关于外部设备的一些内容吧。。。。。。 阅读全文
posted @ 2013-12-11 10:04 zhengrunqiang 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 两个月前,从做BS开始转为做CS程序,开始接触WPF,可是悲剧的是没人指导,只有公司的一句话,你把我们现在WEB程序的功能做成Windows Client,并且用WPF开发,瞬间我沉默了,其实心情不言而喻,真他妈的差!自己摸爬滚打。下班了,待续,会持续更新这几个月自己做WPF学到的东西。。。。。 阅读全文
posted @ 2013-12-10 18:33 zhengrunqiang 阅读(127) 评论(0) 推荐(0) 编辑
摘要: bool?可以为 null 的类型可以包含三个不同的值:true、false和null。因此,bool?类型不能用于条件语句,如if、for或while。例如,此代码无法编译,并将报告编译器错误 CS0266:bool? b = null;if (b) // Error CS0266.{}这是不允许的,因为null在条件上下文中的含义并不清楚。若要在条件语句中使用bool?,请首先检查其HasValue属性以确保其值不是null,然后将它强制转换为bool。有关更多信息,请参见bool。如果对使用null值的bool?执行强制转换,则在条件测试中将引发InvalidOperationExcep 阅读全文
posted @ 2013-09-09 15:34 zhengrunqiang 阅读(800) 评论(0) 推荐(0) 编辑
摘要: 在新的C# 5.0和.NET 4.5环境下,微软为C#加入了async/await,同时还加入新的System.Net.Http.dll类库。这一切都大大简化了(甚至可以说是革命性得改变了)传统.NET HTTP操作处理的方式。相比最新的模型,之前.NET 4.0和C# 4.0的时代的HTTP处理方式就显得弱爆了。首先,如果写成一异步的话。会创造一大堆难看的APM异步执行方法。如果用Lambda的话,就得嵌套多层,也会看着不爽。其次,关于HTTP特有的,就是用户必须手动把URL参数编码并且正确连接然后放入到HTTP请求中。而.NET 4.5中的HttpContent类型的多个派生类型可以支持更 阅读全文
posted @ 2013-09-04 14:16 zhengrunqiang 阅读(7066) 评论(1) 推荐(0) 编辑
摘要: C# Socket编程笔记 1.按惯例先来介绍下socketWindows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据。你也可以理解成是一个API。有了它,你就不用直接去操作网卡了,而是通过这个接口,这样就省了很多复杂的操作。 在C#中,MS为我们提供了System.Net.Sockets 命名空间,里面包含了Socket类。2.有了socket,那就... 阅读全文
posted @ 2013-07-22 00:45 zhengrunqiang 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 阅读目录开始Cookie 概述Cookie的写、读过程使用Cookie保存复杂对象Js中读写CookieCookie在Session中的应用Cookie在身份验证中的应用Cookie的安全状况如何在C#发请的请求中使用Cookie重构与使用总结补充Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态, 所以我认为每个WEB开发人员都有必要对它有个清晰的认识。本文将对Cookie这个话题做一个全面的描述, 也算是我对Cookie的认识总结。回到顶部Cookie 概述Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求 阅读全文
posted @ 2013-06-11 17:14 zhengrunqiang 阅读(276) 评论(0) 推荐(0) 编辑