想通过网络来监控实时采集的数据,这个实时监控的网络程序该采用什么样的解决方案?欢迎各抒己见!

yophoo 2004-11-30 04:31:10
我的个人设想是利用apache+tomcat作为web服务器,通过服务器端编程来侦听端口,并析取数据流中的实时信息输出到用于实时显示的applet中,同时也利用服务器端程序,来将实时采集的数据存入数据库中(或者bean中),而刚提到的applet程序则将接收到的数据用图表形式来实时显示,采用数据库,是为了提供历史数据查询的功能,现在的问题是:

1)由于要动态地在网页上显示实时数据,我不得已采用了applet,不知道是否有更好地解决方案?

2)服务器端的程序该采用何种架构?(需要同时侦听多个端口的数据,然后处理比较,采用线程是免不了的。)

欢迎发表高见,有建设性的另外开贴重谢!
...全文
265 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
SJLPY 2004-12-02
  • 打赏
  • 举报
回复
强烈关注中,帮你顶
debug158 2004-12-02
  • 打赏
  • 举报
回复
up
jFresH_MaN 2004-12-01
  • 打赏
  • 举报
回复
我想到了,可以让客户端自动提交了:
在<head>部分中加一条<meta http-equiv="refresh" content="5" url="...">。
这样就实现了固定时间自动提交了,servlet发送回来最新的数据即可!
yophoo 2004-12-01
  • 打赏
  • 举报
回复
zzzhc():

可否说的详细一点?
jFresH_MaN 2004-12-01
  • 打赏
  • 举报
回复
我觉得你所说的“实时”确实也挺麻烦的,如果要让客户端得到的数据在不请求的情况下不停地刷新挺难的!
applet可以实现,我个人很不支持applet,因为如您所说:
----
本来就是想利用网络来方便客户对数据更新情况的了解,可还得强迫客户安装jre,似乎于情于理都有点说不过去。
------

看看高手有什么意见吧!
zzzhc 2004-12-01
  • 打赏
  • 举报
回复
js+xmlhttp+servlet应该是可以的
yophoo 2004-12-01
  • 打赏
  • 举报
回复
shiweixing(dark):
java.util.observable需要有观察类对象和被观察类对象,两个对象分别处于两台机子上,这又涉及到了RMI的问题,看上去很是麻烦。
fashchina 2004-12-01
  • 打赏
  • 举报
回复
帮助顶
这个我也想知道
那位兄弟,帮帮忙
yophoo 2004-12-01
  • 打赏
  • 举报
回复
jFresH_MaN()(AbsolutelyFresh)(java欣人) ,您的想法很好!

但是Servlet/jsp需要客户向服务器发送请求后才能获得更新的数据,这和“实时”这个要求有点出入!
yophoo 2004-12-01
  • 打赏
  • 举报
回复
Applet具有application的这些功能,但缺陷也是非常明显:1)需要本地下载,受限于带宽;2)需要浏览器对Applet的支持,如果是一些jdk中新的功能,不得已还得让客户端的机子安装新的jre。

第一个问题也许还能忍受,但第二个问题就有点麻烦了,本来就是想利用网络来方便客户对数据更新情况的了解,可还得强迫客户安装jre,似乎于情于理都有点说不过去。

最主要的还是服务器端的程序,应该如何做,有点没有头绪。
喝酒吃肉 2004-12-01
  • 打赏
  • 举报
回复
没做过,socket编程吧
shiweixing 2004-12-01
  • 打赏
  • 举报
回复
我没做过这方面的尝试,但我想你可以通过jsp作,用javabean在后台作,有一个类你可以看一下:java.util.observable,这个类因该可以实现那个功能。
OfThOfTh 2004-12-01
  • 打赏
  • 举报
回复
applet是过时的技术,可以考虑用servlet来动态实现
jFresH_MaN 2004-12-01
  • 打赏
  • 举报
回复
一般是写一个后台程序监听端口,然后发现有新的数据就发送给客户端显示
其实要动态显示并不一定用applet的,我觉得用servlet是不是更好呢?更新数据时发送一个请求给servlet,然后再显示一个jsp,那样比较方便吧,安全性也更好
drugon 2004-12-01
  • 打赏
  • 举报
回复
如果你做成C/S模式的要好做多了,因为在B/S模式下你不好使用一些监听的事件,这些事件只能在Application中实现,在WEB中是比较难实现的。想用WEB做那你只好定时刷新数据了。
yophoo 2004-12-01
  • 打赏
  • 举报
回复
自己提一下
jFresH_MaN 2004-12-01
  • 打赏
  • 举报
回复
applet和servlet通信也可以,不过安全性要考虑一下
yophoo 2004-12-01
  • 打赏
  • 举报
回复
jFresH_MaN()(AbsolutelyFresh)(java欣人):

您的这个方法我也想到过,象网上的聊天室似的,不过似乎不太理想,不得已我才用applet的。

drugon(personal):

您说得非常有道理,我暂时采用的方法是,一个专门的程序在服务器端读取从设备来的实时数据,并记录到xml文件中,而由applet程序用线程模式不断读取并解析该xml文件中的数据,进行相应的处理后用图表动态显示,除了将applet放入网页发布到web服务器中外,并没有真正涉及到web服务器端编程,很惭愧,不是真正意义上的B/S结构,所以我想换个思维,想用Servlet来代替applet中读取和解析xml文件的功能,而仅仅让它负责动态显示,不知道可不可行,当然欢迎有更好的解决方法。
drugon 2004-12-01
  • 打赏
  • 举报
回复
对实时信息的处理我觉得是做成C/S模式的要方便一些,用C/S结构和Socket来实现,而JSP和Servlet的一般都很难真正意义上的实时信息处理。
另外一个问题是,如果所有的信息是从数据库中得到的,那么这个实时处理就比较麻烦了,因为这人时候你要准备相当多的资源放在那里。资源消耗比较快。
fmzbj 2004-11-30
  • 打赏
  • 举报
回复
没有做过,帮你顶!
加载更多回复(1)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧