本文旨在介绍一个功能完备的Java即时通讯软件,该软件具备商业即时通讯软件如雅虎或MSN所提供的所有特性。虽然它无法与这些商业软件相媲美,但这是学习高级Java和JNI概念的尝试。在开发过程中,经常通过查阅众多网站来克服遇到的挑战,这些网站几乎总能解决当前面临的问题。这不仅提高了学习曲线,而且相信对也会有同样的效果。当然,软件中可能存在一些bug和问题,希望能谅解。感谢任何愿意报告这些问题或提出改进建议的人。
运行聊天服务器需要Windows/WinNT/Solaris系统。聊天客户端则需要Windows/WINNT系统。需要JDK 1.3或更高版本(尽管还没有测试过更低版本的JDK)。
1. 构建服务器和客户端框架代码。服务器和客户端使用TCP套接字进行通信,并通过服务器-客户端传递MESSAGE Java对象。MESSAGE对象被序列化并通过TCP套接字作为字节发送。
2. 构建SWING组件。客户端承担了Java.Swing的所有复杂性,并测试了一些Swing组件。服务器是一个纯粹的基于控制台的客户端,与客户端相反。客户端广泛使用Swing组件,值得一提的有:
http://jeans.studentenweb.org/java/trayicon/trayicon.html
闪烁窗口 - 通过JNI调用实现,调用Win API all FlashWindow(HWND,BOOLEAN)和javax.swing.Timer来闪烁窗口。
1. 将压缩包内容解压到一个文件夹中。确保该目录中有以下文件:
2. 转到目录并首先运行服务器。命令是:
java -classpath Talk2Me.jar Server
(运行服务器不需要dll,服务器可以在任何安装了JDK的WIN/SOLARIS机器上运行)
3. 现在启动客户端。
javaw -jar Talk2Me.jar (仅限WINDOWS)
在大多数机器上,只需双击JAR文件即可启动程序。
4. 输入任何用户名和密码,并确保在登录对话框中输入服务器正在运行的正确服务器IP。可以是有效的名称,如localhost, 127.0.0.1, 172.22.11.88...等。
编写这个通讯软件纯粹是为了作为其他程序员的知识库。请不要将此通讯软件用于商业目的或其他任何目的。任何希望修改代码以满足自己需求的人,请在这样做之前征得同意。请确保通过邮件告诉想要修改代码的确切目的。
就是这样,伙计们。已经尽力使代码易于理解,当然,做任何事情总是有不止一种方法,如果能建议更好的方法,那将非常有帮助。评论和反馈总是受欢迎的。