您的位置:首页 > 其它

多Client同步Server端数据

2013-12-27 11:05 253 查看
在问题之前,首先本博中总结的Java中的几种通讯模式 ,而我的问题:多个Client端:JAVA Swing GUI 对应一个Server端,如何在不同的Client上及时获取Server上的数据,并且一个Client上对数据的操作,较快的在另一个Client上展示出来?目前采用的Client和Server之间的通讯方式采用的是RMI和Socket。

怎么解决呢?

(1)Client端设置定时器,不断的请求Server,这个实现起来貌似很简单,

(2)Server主动推送更新的数据, 这里有一篇http://yangzb.iteye.com/blog/424024 介绍了一些WEB Server推送技术,是Server端主动推送数据到浏览器的技术--- Pushlet。但是对于非Web环境下的推送技术怎样实现呢?

使用阻塞式的Socket么?(非阻塞的Socket为NIO)每个Client和Server之间有一个Socket Connection,如下例中的ObjectInputStream (socket.getInputStream)方法readObject()就是阻塞式的,它会等待返回,这个Socket Connection要为长连接,要进行保持,如果出现异常的情况,如网络异常,应该重新建立连接。好吧,试试。

目前为了减少数据量交互,对Client端接受的数据在本地使用缓存和文件的方式存储到本地,但是考虑到性能,以后在每一个Client端上都有一个数据库,而Server端也有自己的数据库,使Client和Server端数据库进行单独同步,可能比较好。

有一篇文章不错:Java桌面程序打包成exe可执行文件

http://www.cnblogs.com/icewee/articles/2073203.html

可以非常方便找到free ICON的网站

http://www.easyicon.net/iconsearch
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: