社区
Web 开发
帖子详情
servlet如何主动向客户端发消息(急)
xieyaa
2009-04-13 04:23:34
我现在做的这样一个方案,服务器是tomcat,servlet处理请求。一个客户端向servlet发送一个http请求,然后保持这个session不断,等待手机向servlet发送http请求,然后servlet处理,然后主动向客户端发送一个消息,告诉它应该执行什么程序。
我现在就想问一下,servlet怎么能主动向客户端发送这个消息。
...全文
1082
16
打赏
收藏
servlet如何主动向客户端发消息(急)
我现在做的这样一个方案,服务器是tomcat,servlet处理请求。一个客户端向servlet发送一个http请求,然后保持这个session不断,等待手机向servlet发送http请求,然后servlet处理,然后主动向客户端发送一个消息,告诉它应该执行什么程序。 我现在就想问一下,servlet怎么能主动向客户端发送这个消息。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小霍夫
2009-04-15
打赏
举报
回复
12楼看清楚再说好不好..
第一句话那是我引用lz 的..
xieyaa
2009-04-15
打赏
举报
回复
关键是PC端是C#写的应用程序,不是web的,所以各位的方法不可行。我用了备用方法,就是服务器主动连接PC端,post过去一个请求。不算完美,但是能解决问题。
专业二三维GIS
2009-04-14
打赏
举报
回复
呵呵,我上贴批评的是9楼wolfKingTy,11楼的mengweilil不要见怪
专业二三维GIS
2009-04-14
打赏
举报
回复
楼上的不懂就别乱说.
http连接是一种短连接,只是连接、请求、关闭,过程时间较短,服务器若是一段时间内没有收到请求即可关闭连接. 也就是你提交请求到页面停止加载后就断开连接了,断开之后服务器是不可能向客户端发送任何数据的.
总之,采用http协议时,客户端是主动的,服务器端是完全被动的,没有客户端的请求就不会有数据传递.
所以,如我上面的贴子所说,楼主别想让服务器通过Servlet主动实时地发送数据,这是基本常识,死了这条心吧.
当然,你要实现实时给客户端发送信息的功能,所以变通一下采用其它方式:
1.客户端通过定时器以AJAX或类似的方式定时从服务器端获取消息,间隔时间短时效果看起来和实时的也没多大差别,只是比较费资源.
2.通过长连接实现,比如写一个Flash或其它ActiveX控件,与服务器建立长连接,这样服务器就可以主动发送消息给客户端了.
mengweilil
2009-04-14
打赏
举报
回复
据我所知,servlet不能push,不过。。。。。。。
xieyaa
2009-04-14
打赏
举报
回复
comet是针对客户端是网页的情况,我现在的情况是,客户端用C#做的,没办法用comet
小霍夫
2009-04-14
打赏
举报
回复
LZ 服务器跟客户端有一个session连接着,怎么会发送不了数据呢。
我看你对session都不是很了解o..哪个说的 服务器和客户端有 一个session边接着..
sessoin是三大作用域之一是在服务器上的.
lookupwtd
2009-04-14
打赏
举报
回复
用ajax发生请求,在服务器中部不要忙着响应,另外开启一个线程去等待手机发送请求。
让响应线程wait,直到手机发送请求(可以做个标识),可行性有多高我就不知道了。
bowlongcn
2009-04-13
打赏
举报
回复
comet可以实现你的想法。现在glassfish实现了这个功能。
tomcat的我还是试用成功。好像必须设置成nio模式后可行。(具体没试过)不过tomcat的文档上有写。
还有一个经过验证的方式就是我们自己实现的web服务器可以很简单的实现这样的功能。
连接上来后没收到消息等到有下行消息后就返回。但是连接保持时间不能超过60秒。
移动的网关有限制。超过时间后,网关会主动断开。
ben0759
2009-04-13
打赏
举报
回复
servlet是真的不可以的。不过,如果你用ajax向服务器发信息,可以通过计时器等方式实现这样的效果。
xieyaa
2009-04-13
打赏
举报
回复
没了?
真的没办法啦?
yusilong860815
2009-04-13
打赏
举报
回复
赞成ls的说法
专业二三维GIS
2009-04-13
打赏
举报
回复
servlet不可能主动向客户端推送信息,死了这条心吧
rtdb
2009-04-13
打赏
举报
回复
客户端可以定时向服务器端查询。
zzxiaoma
2009-04-13
打赏
举报
回复
根据我的了解他属于推技术,ajax可以实现拉技术,还不知道能不能实现推技术,好象ruby可以实现
xieyaa
2009-04-13
打赏
举报
回复
我在网上查到的资料都说是http协议是面向无连接的,有请求才有回应,回应之后就关闭了。不过我总感觉应该可以实现的,服务器跟客户端有一个session连接着,怎么会发送不了数据呢。
使用SSE协议进行服务端向
客户端
主动
发送消息
使用SSE协议进行服务端向
客户端
主动
发送消息
服务器连接微信
发消息
,微信小程序(一):微信小程序与服务器的简单连接
生活无趣且不易,一块儿找点乐子吧。欢迎评论,和文章无关的东西也不要紧。css关于小程序的有些问题,我搜索不到太有价值的东西(多是我对关键字的理解很差)。html在这里我总结下遇到各类问题,可能看来会比较好笑,但对新手来讲也许会有些帮助,我会尽可能去注重具体的实现。前端这篇文章来讲下小程序和服务器的连接问题,或许有些人会和我同样。两者要连接,知道小程序要向服务器发送带参或不带参请求,而后服务器对其做...
openfire
servlet
插件
项目中需要 openfire 对外提供一个web接口,接受
客户端
发送过来的http 请求,按照参数处理后返回相应的response。 于是考虑使用
servlet
插件。 实现方法: 1.在src/plugins目录下建立如下结构的目录。
基于Android + Socket 的简易聊天Demo
接下来会持续更新我写的这个简易的聊天demo。十分简单,用自己的电脑做服务器,手机进行测试。仅测试互相通信是否成功。 (一)界面设计。 需求分析: 1、消息展示,(使用listview,listview每行都是消息) 2、每个消息包括发送方和接收方以及消息框(3个TextView) 3、编辑框(EditText) 4、发送按钮(Button) 我设计的大致如下: ...
(转)openfire插件开发(三)通过http方式向openfire
客户端
发信息
转:http://blog.csdn.net/hzaccp3/article/details/19964655 需求: 通过http方式,向openfire
客户端
发信息(非XMPP协议)openfire发送信息(只发信息)通常使用smack等XMPP
客户端
来实现,但有时有些
客户端
不想使用smack,如android、web或非java
客户端
。此时可以给openfire服务器开一个接口...
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章