长轮询 Servlet实现
来源:互联网 发布:淘宝外卖点麻辣烫 编辑:程序博客网 时间:2024/04/30 18:05
长轮询
@RequestMapping("/ajax")public void ajax(long timed, HttpServletResponse response) throws Exception { PrintWriter writer = response.getWriter(); Random rand = new Random(); // 死循环 查询有无数据变化 while (true) { Thread.sleep(300); // 休眠300毫秒,模拟处理业务等 int i = rand.nextInt(100); // 产生一个0-100之间的随机数 if (i > 20 && i < 56) { // 如果随机数在20-56之间就视为有效数据,模拟数据发生变化 long responseTime = System.currentTimeMillis(); // 返回数据信息,请求时间、返回数据时间、耗时 writer.print("result: " + i + ", response time: " + responseTime + ", request time: " + timed + ", use time: " + (responseTime - timed)); break; // 跳出循环,返回数据 } else { // 模拟没有数据变化,将休眠 hold住连接 Thread.sleep(1300); } }}
另外注意:
长轮询和轮询是对于是否hold住连接等待来说的。
而长连接和短连接是对于tcp连接是否维持来说的。
两者不是同一概念。
0 0
- 长轮询 Servlet实现
- servlet 实现
- 【servlet学习二】:实现servlet
- [Servlet] 实现文件下载
- 用Servlet实现下载
- Servlet实现下载
- Servlet多线程模型实现
- servlet的实现
- servlet实现验证码
- Servlet实现文件下载
- Ajax+servlet实现聊天室
- servlet实现文件下载
- Servlet 实现定时器功能
- 用Servlet实现下载
- servlet 实现分页
- Servlet实现验证码
- 用Servlet实现下载
- Servlet实现文件下载
- Composer更新缓慢的解决方案
- 在布局中使用include引入其他layout时引发click事件不触发的问题
- 如何将git远程分支更新到本地
- python中新手常见的17个错误类型
- JAVA学习路线
- 长轮询 Servlet实现
- Lenovo X3650 M5 安装 ESXi-5.5.0u3 报错failed to resolve circular relocation
- 数组和链表的区别
- sigslot库的简单使用
- ActivityMQ 事务
- 高并发基础之Java并发包
- 动画
- WebSphere MQ 安装与验证
- QAQ的区间统计