Jabber Software:Jabber-NET、agsXMPP与Wilefire[转]
本篇介绍两个使用.NET技术,确切的说是使用C#写的Jabber Code Libraries – Jabber.NET、agsXMPP,以及一个Java写的跨平台Jabber Server – Wilefire。
前言:
即将完成Jabber Protocal(XMPP) : Core的翻译,在接下来的学习中将结合使用一个Jabber代码库和一个Jabber服务器,做些XMPP实现的分析与Practice。
Jabber-NET
Jabber- NET是一个使用.NET技术连接到Jabber服务器的类库集。它目前没有任何实现服务器端的计划,如果你兴趣于领导一个分项目来实现服务器端,那么就 可以将其从你的选择中排除。它是用C#写的,但是也可以用.NET的其它语言(如VB.NET)进行引用,可以用于组件也可以用于客户端。同时当你探究时 你会发现深藏其中的好东西,如Trees、命令行处理等,而且要比也是使用.NET技术的JabberCOM来的简单。
事实上,Jabber- NET似乎已经被搁置,最近一次跟新也是在半年以前,跟新了一些新Xep的支持,以及对vs2005的支持。另外它的文档极少,而且除了邮件列表里有些声 响,没有支持该项目的开发Forum或是Blog。也因此官方没有整理好的源文件及编译好的类库可下载。不过仅从中做一些参考,在它的CVS上还是可以进 行的。
在Jabber Code Libraries中的介绍:
Code Libraries中罗列了用于 Jabber/XMPP 开发的一些知名类库。
|
Library |
Language |
License |
Client |
Component |
Server |
|
C# |
JOSL |
Yes |
Yes |
-- |
有兴趣研究Jabber-Net的朋友可以下载我从CVS中整理编译后的类库:Jabber-NET Setup
agsXMPP
agsXMPP 是用C#写的,用于XMPP协议开发的SDK, 该SDK以基于"AG-Software shared source licence"的开源软件形式发布。目前版本0.1。
不同于Jabber-NET,它作为一个SDK同时支持Client、Component和Server的开发;有着比较良好的文档、邮件列表及开发社区支持。官方页面:agsXMPP SDK,Forum: agsXMPP SDK。
下面是一个简单示例,展示了采用agsXMPP登录XMPP服务器,发送一条信息给另一个用户的方便性。仅用三行代码:
xmpp.Send( new Message("test@jabber.org", MessageType.chat, "Hello, how are you?"));
在Jabber Code Libraries中的介绍:
|
Library |
Language |
License |
Client |
Component |
Server |
|
C# |
Shared Source |
Yes |
Yes |
Yes |
Wildfire
Wildfire就非常知名了,它不是类库,而是一个Java写的跨平台的Jabber服务器实现。它的安装、管理、定制、与其它应用的整合以及联合其它网络都非常简单,甚至做为你的自己的应用程序的平台也是如此方便。它有着强大的Jive软件社区支持 - Jive Software:instant messaging。
Wildfire支持中文,目前版本为3.1,我们可以基于GPL许可证来使用。
在Jabber Servers中的介绍:
Servers中罗列了我们可以利用的,来自许多开源项目和商业用途的 Jabber/XMPP 服务器实现。
|
Server |
Feature Score |
License |
Platforms |
|
98% |
GPL or Proprietary |
AIX, HP-UX, Linux, MacOS X, Solaris, Windows |
更多的Jabber服务器介绍可以参见iso1600的:常用开源Jabber(XMPP) IM服务器介绍
from:http://www.cnblogs.com/hunts/archive/2006/12/07/585014.html
Jabber Software:Jabber-NET、agsXMPP与Wilefire[转]的更多相关文章
- Jabber/XMPP协议与架构
一.概述 由Jeremie Miller于1998年开始这个项目.Jabber是一个开放源码形式组织产生的网络实时通信协议,第一个公开版本于2000年5月发行.Jabber已经由IETF XMPP协议 ...
- 开源Jabber(XMPP) IM服务器介绍
一.摘要 这是我粗略读了一遍Jabber协议和相关技术文章后的产物,有些地方不一定准确.在文章中引用的一些代码来自www.jabber.org上的文章. 二. 什么是Jabber Jabber就 ...
- 基于XMPP的即时通信系统的建立(二)— XMPP详解
XMPP详解 XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议.在此基础上,XMPP ...
- 基于XMPP的即时通信系统的建立 — XMPP IQ详解
XMPP详解 XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议.在此基础上,XMPP ...
- Kamailio
http://www.kamailio.org/wiki/cookbooks/4.1.x/core IMS 支持接口 MSC接口,信令:ISUP over IP和SIP, 用户面: rtp协议 PCR ...
- RFC3920
RFC3920 可扩展的消息和出席信息协议 (XMPP): 核心协议 关于本文的说明 本文为互联网社区定义了一个互联网标准跟踪协议,并且申请讨论协议和提出了改进的建议.请参照"互联网官方协议 ...
- XMPP即时通讯协议使用(前传)——协议详解
XMPP详解 XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议.在此基础上,XMPP ...
- XEP-0078:非SASL认证
XEP-0078:非SASL认证 抽象: 这个文件规定了使用Jabber的Jabber的服务器和服务认证的协议:智商:AUTH命名空间.注意哦:本文规定的协议,取而代之的SASL认证的被取代,如RFC ...
- wordpress自定义后台用户联系方式 添加qq、微博、微信
在 WordPress 后台,个人设置(Profile)中,可以设置电子邮件和 Website,如何添加国人常用的 QQ, 微博,微信呢? <?php /* Plugin Name: Custo ...
随机推荐
- android学习日记08--Paint画笔
Paint 要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布Canvas上,这样才可以显示在手机屏幕上.Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设 ...
- flash builder 4.7 debug via usb device iPhone 4s - device not found
http://forums.adobe.com/message/4865192 Please provide more info on the above issue: 1.What is the m ...
- android132 360 05 手机定位
.网络定位:根据ip地址定位,根据ip地址在实际地址数据库中查询实际地址. 缺点:动态ip导致地址不准确. .基站定位:3个基站就可以确定实际位置,定位范围是几百米到几公里不等. .GPS定位:美国卫 ...
- debian非正常关机进不了图形界面的解决方法
昨天调试一个程序的时候,把界面设置成了POPUP方式,结果触发断点的时候,界面不能最小化,程序就死到那了,动不了,没办法只好按电源了,结果启动的时候提示 An automatic file syste ...
- C#_MVC 自定义AuthorizeAttribute实现权限管理
随笔- 28 文章- 31 评论- 16 MVC 自定义AuthorizeAttribute实现权限管理 在上一节中提到可以使用AuthorizeAttribute进行权限管理: [Autho ...
- javascript——touch事件
前言 诸如智能手机和平板电脑一类的移动设备通常会有一(capacitive touch-sensitivescreen),以捕捉用户的手指所做的交互.随着移动网络的发展,其能够支持越来越复杂的应用,w ...
- iOS的崩溃和编译错误
1. Command /bin/sh failed with exit code 127 这是因为mogenerator找不到路径,stackoverflow给出的答案是: If /usr/local ...
- 简单理解前端web开发的MVC模式
随着前端Ajax兴起.前端开发工作进一步划分:js开发和ui页面制作.另外从整个前端项目的清晰明朗以可扩展性角度来看,MVC的应用也越来越必要,特别是对大的项目. 例如 需要给一个页面上的button ...
- SpringMVC与Struts2配置区别
Spring MVC模型与Struts2模型应用: Html表单: 上述这两段代码无论是SpringMVC还是Struts2,都可以共用.而在请求响应处理类(也就是Controller)上的设计差 ...
- Apple Watch 使用体验
交互 Apple Watch 支持以下几种交互方式: 按下 Digital Crown (数码表冠),在桌面和表盘之间切换. 长按 Digital Crown (数码表冠),启动 Siri. 双击 D ...