当前位置: 首页 > news >正文

重庆网站建设首选卓光wap网站和app开发

重庆网站建设首选卓光,wap网站和app开发,wordpress函数语言,机械厂网站建设首先是客户端#xff0c;看着比较简单。但实际应用中可能要比这复杂#xff0c;因为默认sse只支持get请求#xff0c;而且没法携带header。所以如果默认的方法达不到需求的话可能需要额外实现#xff0c;当然也可以引用第三方库#xff0c;比如rangermauve/fetch-event-so…首先是客户端看着比较简单。但实际应用中可能要比这复杂因为默认sse只支持get请求而且没法携带header。所以如果默认的方法达不到需求的话可能需要额外实现当然也可以引用第三方库比如rangermauve/fetch-event-source。所以有谁会自己实现呢 if(typeof(EventSource)!undefined) {var sourcenew EventSource(http://localhost:9001);source.onopen function(event) {console.log(onopen)};source.onmessagefunction(event){console.log(onmessage);console.log(data is , event.data);document.getElementById(result).innerHTMLevent.data br;}; } else {// 浏览器不支持 server-sent 事件 } 服务端java代码如下 package com.zhouz.signing.controller.v1;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.Date;RestController CrossOrigin public class TestController {protected static Logger logger LoggerFactory.getLogger(UserController.class);RequestMapping(value /testsse)ResponseBodypublic void getStreamDataImprove(HttpServletResponse httpServletResponse) {httpServletResponse.setContentType(text/event-stream); // content-type必须是text/event-streamhttpServletResponse.setCharacterEncoding(utf-8); // 编码必须是utf-8// 这里用死循环是为了和客户端建立长连接while (true) {String s retry:10000\n; // retry:后面跟单位为毫秒的数字客户端会在断开连接后按照设置的毫秒数进行重连String i new Date().toString();s id: i \n; // id: 设置id可以在比如客户端网络错误的时候下一次再连接时向服务端发送的请求中header中带有Last-Event-Id参数服务端拿到这个值就可以将未推送的数据再次推送给客户端s data: i \n\n; // data: 设置数据注意一则消息的最后必须要有两个换行符try {PrintWriter pw httpServletResponse.getWriter();Thread.sleep(1000L); // 如果不想给客户端发送消息过于频繁可以设置等待时间pw.write(s);pw.flush();if (pw.checkError()) {logger.info(客户端断开连接);break; // 判断出错后需要结束死循环本次请求也就结束了。}} catch (IOException | InterruptedException e) {e.printStackTrace();}}} }服务端php代码 ?php header(Access-Control-Allow-Origin: *); header(Access-Control-Allow-Methods: *); header(Content-Type: text/event-stream); header(Cache-Control: no-cache);while(true) {$time date(r);echo data: {$time}\n\n;ob_flush();flush();sleep(1);// TODO 这里不知道是否可以用这个方法来判断客户端断开了连接if (connection_aborted()) {break;} } 需要注意的是如果服务端不加死循环前端看着是3秒发起一个请求。而加了死循环之后前端实际上只发送了一次请求。
http://www.dnsts.com.cn/news/57762.html

相关文章:

  • 优秀的网站建设托管微信网站用什么软件做
  • 建湖网站建设公司素材下载网站源码
  • 网站开发json解析律师网络推广哪个比较好
  • 网站开发要用多少钱wordpress维护费用
  • 拖拽式wordpress建站wordpress全屏弹窗插件
  • 网站开发网上宠物店管理系统移动网站套餐
  • 企业网站功能列表现在有什么推广平台
  • 网页设计导航栏内容班级优化大师手机版下载(免费)
  • 做旅游网站的公司求合伙人做网站
  • 十堰高端网站建设开发高端网站建设价格
  • 带域名的网站打不开网站建设与建设
  • 网站说说模板.嘉兴房产网站建设
  • 网站的建设维护南阳做网站多少钱
  • 湖南省新邵县建设局网站海外电商平台哪个好
  • 招商网站建设费用价格腾讯云服务器使用教程
  • 个人做网站能赚钱吗做广告公司网站建设价格
  • 网站建设付费项目做网站 租服务器
  • 帮我们做网站的人找不到了长沙百度开户
  • 湄潭建设局官方网站网站建设的运营计划书
  • 个人网站 免费空间免备案cdn
  • 郑州做网站大量网站被关wordpress 无标题
  • 做封面图的网站做兼职的设计网站有哪些
  • 流行的企业网站推广崇左网页设计
  • 成功的个人网站施工企业既搞建筑安装又搞建筑材料销售其应纳税种为
  • 营销导向的企业网站优化乐平城市建设局网站
  • 做游戏的网站西宁电子商务网站建设
  • 大岭山网站仿做专业郑州网站建设
  • 网站的电子手册用什么做的wordpress 4.8 en us
  • 学网站建设要什么高德导航怎么看街景地图
  • 临沂企业自助建站做网站职校选什么专业