如何用java开发基于jabber的IM软件

如何用java开发基于jabber的IM软件,第1张

Jabber对于即时消息是一个开放的、基于XML的数据模型和协议。联系不断增加的基于Jabber开放资源和商业产品的数目,这种协议提供了摆脱即时消息服务器所有权束缚的一种方法。多种多样的开放资源Java APIs能够帮助你建立基于Jabber的服务器并将即时消息整合到你的应用程序中去。在这篇文章中专门阐述了这一点。 即时消息作为个人——个人通迅工具取得了显著的成功。在有些地方它已经作为在线联系的首选方法取代了email。现在,开发者正将这一技术应用到应用程序——个人和应用程序——应用程序通迅上。 直到最近,也只有少数服务提供商掌握了这一技术。通常流行的即时消息服务是建立在所有权协议基础上的通迅孤岛。实施面临一个困难的决策:支持多协议或锁定到一个单独的。不管哪种选择,实现都必须依赖一个属于即时消息(IM)服务提供商的服务器。 开放式协议能够帮助开发者摆脱所有权陷阱。其优势有多种:开放协议鼓励竞争实现的发展(一些开放资源)。他们鼓励广泛采用一种公共协议,这样可以阻止通迅孤岛和服务供应的孤立主义方法的发展。用多种方法,开放协议使因特网成为可能。在即时消息领域,开放协议确保封闭系统及协议不会阻碍基于IM服务器的发展的互 *** 作性。 Jabber是一种针对即时消息和现场服务的开放协议。作为一个公共协议的最主要的侯选者,Jabber有潜力打破所有权在即时消息服务的控制。 这篇文章将解释如何实践发送简单Jabber消息和开发一个简单的基于开放标准及开放资源APIs和产品的布告服务器。 为什么使用Jabber Jabber标准和结构帮助创建一个分布式的IM系统,使人联想到分布在因特网上的email系统,用户在本地连接到这些系统。这个方法直接与象AIM(AOL即时信使)、ICQ、MSN(Microsoft网络)及Yahoo这样的流行服务提供商提供的单一系统结构作对,在那里一个单独的中央服务器或集中服务器组提供消息服务。Jabber在其他情形也类似于email结构:Jabber使用一个几乎与基本SMTP(简单邮件传输协议)方案一样的地址方案确定它的终点(人,机器,软件)地址。例如,myname@elogexcom是一个有效的Jabber地址,或使用Jabber说法叫JID(Jabber ID)。因为这些原因,基于Jabber的系统衡量起来好于已存在的专有系统。加之,对于专有即时消息服务的网关允许的协议是必需的。 多种多样的Jabber服务器,包括我们在这篇文章中使用的其中之一,都是自由可使用的,意思就是说你不再需要依赖一个第三方IM服务提供商(第三方Jabber服务对于那些要求第三方主机服务的来说也是有用的)。 标准化 当讨论Jabber标准的益处时,我应该提及IETF IM标准的工作。在写这篇文章时,其IMPPWG(即时消息和现场协议工作组)已有多个RFC有效,其中最重要的是: ·RFC 2778:现场和即时消息模型 ·RFC 2779:即时消息/现场协议要求 IMPPWG已经起草了一个名叫CPIM(公共现场和即时消息)协议的因特网标准。Jabber协议也是一个草拟的因特网标准,但不是IMPPWG工作的部份。 Jabber在哪儿适合这一标准工作呢?依照Jabber网站,Jabber是“承诺完全支持任何开放实时消息协议,包括IETF协议”。如果当对于这个IETF协议的支持增长时,Jabber打算将自己定位为IETF协议的领导开放资源的平台。到目前为止,IETF的工作更多地主要集中在收集要求上而不是执行。暂时,Jabber仅是一个带有重要开放资源支持的开放即时消息和现场服务协议。结果,它成为开放即时消息事实上的标准。 另一个值得密切注意的竞争对手是Sun微系统的Jxta协议,另一个基于XML针对peer-to-peer(P2P)应用程序开发者的协议。各种各样的Jxta实施在今天已经能够被提供。但是,由于其起源相对较近,Jxta比起Jabber只有很少的牵引力。 下载并安装 要开始使用Jabber,你首先需要下载必要的工具:你需要一个Jabber服务器,一个Jabber客户端,一个帮助管理和隐藏一些复杂socket处理的API,XML语法分析,消息创建等等。 Jabber服务器 为了运行Jabb

1、 关于centos版本。其实46、52、55都经过测试,但网卡驱动都得手动安装于是经历了一番周折:昨天安装好46后发现没网卡驱动,想想手头正好有54版本的,今天就用54的centos重新安装了一遍。结果发现也没Broadcom的网卡驱动。结果按照google上的方法,安装上了。正在一路高歌地安装Elog之时,发现microdog的驱动安装后提示成功但总是无法识别。换个usb口、重启系统都这样。郁闷啊……打完场外求助电话得知54版是没测试过的,要用指定的几个版本安装(一开始怀疑又在忽悠我,每次给的建议都是重装)。结果又把54的换成46的(手头没55版本的),一路安装下来居然成了。我晕54和55差别有那么大么?正待重启系统准备测试Elog时,悲剧又来了——系统进不去了,MBR信息丢了!没什么好招,只好又重装了一遍。
2、 就centos下手动安装网卡驱动的步骤归纳如下:
1) 首先确定网卡的型号,然后到官网下载相应驱动程序(linux环境下硬件驱动到厂商网站下比较好);
2) 将驱动程序复制到U盘中,插入安装centos的服务器上,复制安装包:
mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb
进入文件下:cd /mnt/usb
Rpm安装 rpm -ivh srcrpm
3) cd /usr/src/redhat
4) rpmbuild –bb SPECS/spec
编译结束会看到如下提示:
+ rm -rf /var/tmp/netxtreme2-buildroot /usr/src/redhat/BUILD/filelistnetxtreme2
+ exit 0 (0表示安装成功)
5) 安装编译之后生成的rpm包
rpm -ivh RPMS/i386/rpm
6) 再查看是否加载了模块:
lsmod | grep
modprobe (一般安装好后需手动加载)
7) 为了判断安装的驱动是否正确,可以如下测试:
dmesg | grep eth 判断是否是正确安装
重启后输入ifconfig就可以查看网卡信息了。
3、 为了配置网卡可以 cd /etc/sysconfig/network-scripts下查看ifcfg-eth0设置。如果没有创建该文件,使用vi ifcfg-eht0编辑配置文件——
BOOTPROTO=static
BROADCAST=19216810
IPADDR=19216810
NETWORK=19216810
NETMASK=2552552550
ONBOOT=yes
GATEWAY=19216810
编辑完成,ESC后按下shift和:,输入wq保存退出。最后service network restart 重启服务。至此网卡安装完毕。
后文:
linux是要学习的。虽然重新安装了N遍系统花了好长时间,但对系统的安装流程、网卡配置熟悉了很多。现在企业用centos的逐渐多了~希望iptable能用起来,就当是今年目标之一吧!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12632555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存