如何在java中向客户端广播数据

时间:2014-11-27 17:12:55

标签: java desktop-application

我正在编写一个小型桌面应用程序,该应用程序向使用此应用程序的客户端显示通知。因此,我的应用程序应从存储所有通知的服务器收到通知。如果有100个客户端使用此应用程序,如果我向服务器添加一些通知如何将这些数据发送到100个客户端...请告诉我一些API或哪些技术可用于实现此功能。此应用程序是桌面应用程序

3 个答案:

答案 0 :(得分:0)

有一些可能性:
1.通过套接字,ServerSocket / Socket / Multicast
推送通知:在每个客户端上打开一个侦听套接字,并从服务器打开一个连接,以便从服务器向客户端发送通知 Pull-Notification:打开服务器上的监听套接字并打开例如每隔10秒左右从客户端到服务器的连接,以在服务器上查找新通知 多播:通过一次API调用向多个客户端发送相同的消息 2. JDBC / JPA:如果您有数据库,则通过数据库传输消息 3. JMS:使用消息主题
...

最好的方法取决于您的需求。

答案 1 :(得分:0)

简单......

1) Make Arraylist of socket that has socket of all clients. // i.e when new client connected then add its socket into th ArrayList.
2) When ever there is any update just iterate through the ArralyList and send notification to all the connected clients.

答案 2 :(得分:0)

有两种(可能更多,但我知道那两种。:))模式来处理这些类型的场景。 观察者发布订阅者

它们与Observer模式的区别非常相似,"标准"实现可能会在发布 - 订阅者方案中创建内存泄漏,发布或订阅者都不会彼此了解。

看看下面的链接可能会给你一个更好的主意。

http://en.wikipedia.org/wiki/Observer_pattern http://www.oodesign.com/observer-pattern.html

http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern http://www.eaipatterns.com/PublishSubscribeChannel.html