Java领域的即时通信的解决方案可以考虑openfire+spark+smack。当然也有其他的选择。 Openfire是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用3.6.4版本,这个版本是当前最新的版本,而且网上可以找到下载的源代码。 即时通信客户端可使用spark2.5.8,这个版本是目前最新的release版本,经过测试发现上一版本在视频支持,msn网关支持上可能有问题,所以选择openfire3.6.4+spark2.5.8是最合适的选择。 Smack是即时通信客户端编程库,目前我已测通通过jsp使用smack的API向openfire注册用户发送消息,并且可以通过监听器获得此用户的应答消息。 通过smack向msn用户和QQ用户,gtalk用户发送消息应该也可以实现,关于向gtalk用户发送消息的例子较多。这个留待以后研究。至少目前可以通过程序向spark发消息了。对于局域网内部应用足以解决系统与用户交互的问题,甚至可以做自动应答机器人。 Spark支持聊天,语音,视频,会议,文件收发,截屏,连接msn等功能。 下载 openfire+spark安装手册pdf(可下载下面附件): http://code.google.com/p/openjweb/downloads/list openfire官方网下载:http://download.igniterealtime.org/openfire/openfire_3_6_4.exe spark源码下载http://public.bay.livefilestore.com/y1pvEjtMbZHlUFKGA8D8MhZiQqrf7Zs_YZM0khFjTcv8eoq1jnAub_PoFIuNAGhce3R94kGS-5cOczb25DGytMNxw/spark(svn自动下载).zip 收藏的学习地址,个人感觉写得不错 http://blog.csdn.net/baozhengw/archive/2009/08/29/4496920.aspx http://sun-snowfox.blog.sohu.com/74541019.html 以下是从别处转载过来的源码编译生成全攻略 本文来源:http://bookbookpicture.spaces.live.com/blog/cns!68F3076C3C3DA5EB!671.entry 其实关于这个问题在Spark的官网www.igniterealtime.org上有很详尽的介绍,因此本文大部分内容是从英文文档引用而来的,其中还有一些个人的经验。 Spark源代码:下载地址 想了解更多关于"Spark"的文章,请点击这里. 安装JDK 这个不用说了,注意版本,最少要1.5,推荐使用 安装Eclipse3.3 a) 从官网下载Eclipse 3.3 (对Java开发者用的) b) 假设你把eclipse安装在c:/program files/eclipse,进入这个文件夹,为eclipse.exe创造一个桌面图标,右击这个图标,选择“属性”,打开属性对话框,在“目标”的输入框里,输入如下 "C:/Program Files/Eclipse/eclipse.exe" -vm "C:/Program Files/Java/jdk1.6.0/bin/javaw" 熟悉eclipse的都知道这是为eclipse指定使用哪个Java VM。 为eclipse安装Subversive插件 a)用上面建的图标打开eclipse,下面开始安装Subversive插件,由于我用的是英文版的ecplipse, 下面的菜单我都用英文。 b) 点击Help::Software Updates::Find and Install... c)点击 Search for new features to install ,点 Next d)点New Remote Site... 按钮 e)在name的输入框里输入 Subversive ,并且在URL输入框里输入 http://www.polarion.org/projects/subversive/download/1.1/update-site (最新的Subversive地址上 http://www.eclipse.org/subversive 查询) f)点击Finish ,开始安装Subversive,eclipse将搜索网站,并且在下一个窗口中显示你想安装的功能 选择安装Subversive SVN Team Provider Plugin 和 Subversive Client Libraries下面所有的功能 g) 点Next,eclipse开始安装过程,安装结束后重启eclipse。 利用svn方式下载spark代码 a)点击如下Windows::Open Perspective::Other... b)弹出一个“Open Perspective”对话框,选择“SVN Repository Exploring”,单击OK c)这是eclipse界面发生变化,在左边的“ SVN Repositories”面板上,右击鼠标 选择New::Repository Location... d)在“New Repository Location”的位置输入 “http://svn.igniterealtime.org/svn/repos”,单击 “Finish” e)在 SVN Repositories面板上,会发生变化,展开它,找到spark的选项,右击 spark下面的trunk项,选择“Check Out”,下载spark的代码。 f)下载完成后,选择Window::Open Perspective::Java,在Project Explorer面板上, 看到Spark项目,删掉它,在弹出来的对话框中选择“Do not delete contents” 在工作目录下面找到spark文件夹,里面就是spark的源代码。 注:也可以不要这么麻烦,我在上面提供了一个链接,可以直接下载Spark源代码,上面的步骤都 可以省了. 创建Spark项目 1)点击Window::Open Perspective::Java菜单 2)在Project Explorer窗口中,如果有spark这个项目,把它删了,删除时,会问你要不要删除 文件,选择不要. 3)选择File::New::Project...,再选择Java::Java Project,在New Java Project窗口选择 "Create project from existiing source",然后把spark文件所在的文件夹加进去. 4)在"project name"中输入spark,要和文件夹的名字相同. 5)点Finish. 生成Spark 1)点击Window::Show View::Ant 2)右击Ant面板,选择Add Buildfiles 3)展开spark::build文件夹,选择build.xml,点击"OK" 4)在Ant面板,展开Spark,双击"release",等一段时间,会提示"Build Successful". Create Project Builder 1)点击Run::Open Debug Dialog...,出现"Run"窗口 2)选择"Java Application",点击"New"按钮. 3)在"Main"标签页,将New_configuration换成Spark或其它的这个无所谓. 4)点击Project::Browse按钮,选择Spark,再点OK. 5)点击Main class::Search按钮,选择main所在的类Startup-org.jivesoftware.launcher, 再点击OK 6)建议勾选Stop in main. 7)点击Classpath标签页,选择User Entries ,使得Advanced..按钮变的可用.点击Advanced 按钮. 8)在弹出来的Advanced Options窗口,选择Add Folders,再点OK,在Folder Selection窗口 选择spark::src::resources 文件夹,点击OK 9)选择Common标签页,勾选Debug,Run前面的框 10)点击Apply,再点击Close Run/Debug 点击Run::Open Run Dialog..,在弹出的对话框选择Spark,然后点Run就行了.