没有合适的资源?快使用搜索试试~ 我知道了~
首页创建基于agsXMPP的实例
创建基于agsXMPP的实例

创建基于agsXMPP的实例 创建基于agsXMPP的实例 创建基于agsXMPP的实例
资源详情
资源评论
资源推荐

创建基于
agsXMPP
的实例
分类: 人阅读评论收藏举报
致力于创建一个轻量、快速的跨平台类库,用于 协议。
通过下面的三项技术, 达到了这个目标。
异步套接字
与工厂模式结合的快速 解析器
自有的轻量级 ,作为所有 协议类的基础
我们为什么不直接所用 ! 的 "#!$ 命名空间里的类呢?
因为我们决定创建自己的轻量级的 $,能够飞快地运作,特别是在像 % 和 "!&'( 这样
的嵌入式设备上。
$)*!+, 有利于 "-$. 的解析。但是 ! 在/0) 的 " 中做了下改变,这使得我们不
能够再使用它来解析网络流。所以我们需要另外的 解析器。
类库的惊人之处在哪?
一旦从套接字接收到数据,该数据便由 *$. 解析器解析。此解析器使用工厂模式来创建
协议类相关的元素。
示例:
套接字接收到一条信息,将比特流推送至解析器。 解析器探测到隶属于 $(! 命名空间中名字
为 message 的开标签符。在元素创建前,解析器在工厂散列表中做个查找。这样就创建了
&!$$(! 类的一个实例。如果表中不存在 ((& 的绑定,则会创建
$0$(! 的一个实例。
所有的 协议类都派生自 $0$(!。他们都是在内存中保持 树的%!!%元素。
所有的属性都是%$!&&!%。在我们要读取消息体,调用消息体属性时,类将会实时查找
1,#2元素。
3
Creating your own packet types
下面的小例子中我们将要创建一个我们自己的扩展,通过 网络发送天气信息。最简单的方法是将
天气的数据信息嵌入到一个 节中。嵌入了天气信息的新 如下所示:


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论6