特色:GUI是远程而不是本地的,Server创建GUI,传到所有Client。
用cajo实现。
每个客户端用IP+登陆时间+用户名(User)唯一标示。
在send框输入消息,按按钮发送并取回所有消息。如果消息为空,只取回历史(别人发送的)消息。
目前为聊天室模式(能看到所有登陆服务器的客户端发送的消息)。
但稍加修改即可改为端对端模式(只取回属于自己的消息)
rem 用法见dev.txt
java -classpath bin;grail.jar; Server 8080 1198
pause
客户端调用方法:
rem 用法见dev.txt
java -classpath bin;grail.jar; -Dsdk.Client.title="JTouch-Java Instant Messaging Tool" sdk.Client //localhost:1198/statefulService
用cajo实现。
每个客户端用IP+登陆时间+用户名(User)唯一标示。
在send框输入消息,按按钮发送并取回所有消息。如果消息为空,只取回历史(别人发送的)消息。
目前为聊天室模式(能看到所有登陆服务器的客户端发送的消息)。
但稍加修改即可改为端对端模式(只取回属于自己的消息)
rem 用法见dev.txt
java -classpath bin;grail.jar; Server 8080 1198
pause
客户端调用方法:
rem 用法见dev.txt
java -classpath bin;grail.jar; -Dsdk.Client.title="JTouch-Java Instant Messaging Tool" sdk.Client //localhost:1198/statefulService
pause
参考:https://java.net/projects/cajo/pages/SDK
后记:cajo/grail是非常棒的跨JVM通讯的框架。用这个框架(尤其是最新的cajo sdk 4)实现的即时通讯工具是我见过的最纯粹简约的局域网GUI即时通讯工具。可惜不是一般的晦涩难懂,是非常晦涩难懂。不同版本之间代码不同。作者给的浮光掠影的介绍及少的可怜不完整的代码更是让人混淆。项目网站很多链接在Java被Oracle收购后成为死链接。互联网上介绍资料竟然如此稀少。这么好的框架不能发扬光大真是可惜啊!