JTouch (Remote GUI) - 最纯粹简约的GUI即时通讯工具
2016-04-02 00:10
489 查看
特色: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
pause
参考:https://java.net/projects/cajo/pages/SDK
后记:cajo/grail是非常棒的跨JVM通讯的框架。用这个框架(尤其是最新的cajo sdk 4)实现的即时通讯工具是我见过的最纯粹简约的局域网GUI即时通讯工具。可惜不是一般的晦涩难懂,是非常晦涩难懂。不同版本之间代码不同。作者给的浮光掠影的介绍及少的可怜不完整的代码更是让人混淆。项目网站很多链接在Java被Oracle收购后成为死链接。互联网上介绍资料竟然如此稀少。这么好的框架不能发扬光大真是可惜啊!
用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收购后成为死链接。互联网上介绍资料竟然如此稀少。这么好的框架不能发扬光大真是可惜啊!
相关文章推荐
- Build failed in step 'Installing CLooG for host'
- Java的break和continue使用示例
- OC高效率52之不要使用dispatch_get_current_queue
- Your build settings specify a provisioning profile
- 自定义UITableViewCell实现左滑动多菜单功能LeftSwipe
- UiAutomator中android.widget.ListView控件的子元素遍历
- 在Xcode 6.2中遇到Your build settings specify a provisioning profile with the UUID, no provisioning prof
- android项目中values中几个…
- Incorrect string value: '\xC2\x8B\xC3\xA8\xC2\xAF...' for column 'name' at row 1
- RFC(Request For Comments)征求修正意见书
- IOS开发-UI学习-UITextField的具体属性及用法
- 算法实例-C#-快速排序-QuickSort
- 【POJ】[3061]Subsequence
- hdoj 1242 Rescue (bfs 优先队列)
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
- hdu 4027 Can you answer these queries?
- hdu 4027 Can you answer these queries?
- RMQ (Range Minimum/Maximum Query)算法
- EasyUi Datagrid的基础使用
- Codeforces Round #257 (Div. 2) B. Jzzhu and Sequences (矩阵快速幂)