论坛首页 Web前端技术论坛

使用openfire+jwchat来构建类似于商务通的即时在线沟通的技术实现

浏览 27201 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-08-20  
      Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。
    XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。 这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。XMPP的技术来自于Jabber,其实它是 Jabber的核心协定,所以XMPP有时被误称为Jabber协议。Jabber是一个基于XMPP协议的IM应用,除Jabber之外,XMPP还支 持很多应用。
  Jabber服务软件有很多,具体可以参考jabber官方网站的列表:
Jabber官网地址:http://www.jabber.org/
常用Jabber服务器软件:http://www.jabber.org/software/servers.shtml其中最为方便安装搭建的无疑是Openfire(Wildfire),一款基于GPL协议开源软件,Openfire有linux、windows和MAC的不同版本,软件需要java环境支持,不过软件本身自带了环境包,你可以根据你的需要下载不同的版本。
下载地址:http://www.igniterealtime.org/downloads/index.jsp#openfire
  更详细的安装配制 可以参考网页:[url=http://blog.csdn.net/expendable/archive/2007/06/25/1666122.aspx]基于开源jabber(XMPP)架设内部即时通讯服务的解决方案[/url]

    JWChat是一个功能强大,基于Web的Jabber™客户端。采用AJAX技术开发,这个客户端只用到了JavaScript与HTML。它具备基本的jabber即时消息功能,用户管理,基于MUC协议的群聊天功能。
    参考图如下:
   [jwchat

    我的初步设想是通过用户的Ip,再通过一个转换器,也就是[url=http://wt.fwvv.net/fwdowns/2007/04011/zhcxip-access-2007-03.rar]

中华查询网IP数据库Access版

[/url]转换成其真正的用户,然后在服务器端一个一个的增加这样的用户,当然也可以不增加,让每一个登录的新用户默认的有几个组员,也就是本网站的网络支持者.开始会话.

      jwchat基本是使用js来完成所有会话的功能,其实,使用dwr或者 ajax4jsf一样的ajax工具会实现比他还丰富可定制的会谈信息,各位看客有了解商务通的技术实现方案吗?欢迎讨论.我一般看到的是PHP或者asp版的.呵呵.
   
   发表时间:2007-09-24  
近期学习总结:快速学习方法。
从开源代码那里了解到有四种代码可以参考:
1、jwchat
2、claros chat
3、yafamato
4、smark
其中jwchat单纯使用js,使用json来做AJAX实现。
smark是openfire的客户端,很多人都在使用它。
其中yafamato就是在他上面的WEB扩展,并且使用struts技术。
claros chat使用yui做为页面布局的扩展,主要使用js,另外使用servelt编程。呵呵
今天就研究到这里,
附一些代码:
ConnectionConfiguration config = new ConnectionConfiguration("localhost", 5222);
		XMPPConnection conn2 = new XMPPConnection(config);		
		conn2.connect();
		conn2.login("mimi", "mimi");		
		Chat newChat = conn2.getChatManager().createChat("admin@127.0.0.1",new MessageListener(){
			public void processMessage(Chat chat, Message message) {
		        System.out.println("Received message: " + message+message.getBody());
		        message.setProperty("favoriteColor", "blue");
		    }
		});
		
		
		try {
		    newChat.sendMessage("你好,朋友!");
		}
		catch (XMPPException e) {
		    System.out.println("Error Delivering block");
		}
0 请登录后投票
   发表时间:2007-09-25  
继续:
我考察一下jwchat的源代码,其实就是js的OO方法组织的程序代码,颇有几分零乱,细心研究后,感觉作者对JS的OO发挥的真是不错.但是又感觉分层的结构不是很明确.而且我还想操作底层的数据库,N,我试着加入一些DWR的代码.折腾了一个上午,中午吃饭后,又感觉这样的东东安全性不够,所以呀,又停止了开始.
陷入了沉思.我又在想使用a4j来组建这个会话,而且也可以从底层调用一些东东.呵呵,又开始了.
真的感觉到JSF的强大了.
0 请登录后投票
   发表时间:2007-09-25  
关注中,楼主加油^_^
0 请登录后投票
   发表时间:2007-09-25  
yafamato什么东东?google上无此单词
smark应当是sparkweb吧,但不开源
claros支持xep-0124吗?
0 请登录后投票
   发表时间:2007-09-25  
直接使用flex写客户端会更好
0 请登录后投票
   发表时间:2007-11-02  
我想请问一下,怎么获得服务器的httpBase.十分感激。。
0 请登录后投票
   发表时间:2007-11-28  
如果我把OPENFIRE布署到另外一台机器上。。是否会存在跨域的问题
0 请登录后投票
   发表时间:2007-11-29  
前阵子也做了一个jwchat的改造工作,实现的是网站访客从web页面点击聊天按钮后直接跟管理员交流,感觉jwchat做的确实很好,不过发现个问题,使用ie的时候很容易导致页面死掉,不知是何缘故
0 请登录后投票
   发表时间:2007-11-30  
另外提供一套开源框架作为此类Web IM开发的参考:
Java2Script + Smack + Jabber (Gtalk)

示范例子(google talk是基于Jabber的XMPP协议的):
http://demo.java2script.org/gtalk/

其中Java2Script,提供用Java + Eclipse SWT的开发RIA的开发环境:
http://j2s.sourceforge.net/

Smack,提供基于Jabber XMPP协议的Java类库:
http://www.igniterealtime.org/projects/smack/index.jsp

Java2Script Gtalk,提供Java + SWT的桌面版gtalk客户端,可以编译为基于JavaScript + HTML + CSS的Rich Internet Application:
http://demo.java2script.org/gtalk/

0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics