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

特产网站怎么做投资公司怎么赚钱

特产网站怎么做,投资公司怎么赚钱,大数据营销方法,制作装饰公司网站HTTP的限制 全双工和半双工#xff1a; 全双工#xff1a;全双工#xff08;Full Duplex#xff09;是允许数据在两个方向上同时传输。 半双工#xff1a;半双工#xff08;Half Duplex#xff09;是允许数据在两个方向上传输#xff0c;但是同一个时间段内只允许一个…HTTP的限制 全双工和半双工 全双工全双工Full Duplex是允许数据在两个方向上同时传输。 半双工半双工Half Duplex是允许数据在两个方向上传输但是同一个时间段内只允许一个方向上传输。 这里半双工我们可以类比我们熟知的HTTP协议它的工作方式就是类似于半双工但是我们也应该明白它还不如半双工呢。并且它是只允许客户端主动请求而服务器端被动响应即所谓的请求响应模式。显然这种模式是有一种缺陷的对于某些功能的实现是很麻烦的 例如如果需要在客户端上维持某个数据的实时性那么该如何实现呢 如果这个数据发生了改变服务器并不能主动通知到客户端因此需要客户端自己去服务器上拉取数据。但是请求一次只能知道当前数据是否更新如果数据早就更新了呢因此需要客户端不断的请求服务器询问数据是否改变这种方式即称为轮询通常是ajax轮询。轮询是一种很低效的方式并且它只是伪实时的因为轮询需要间隔一定的时间如果时间长了数据的实时性就低了时间短了服务器的压力也很大的客户端也会有一定的压力。这里的伪实时指的是假如轮询间隔时间为t那么数据更新以后到客户端获取到数据的时间间隔即为0-t。 再举一个很常见的例子如果开发web的话有时候出了问题我们通常会刷新一下这就是HTTP协议的特性限制的你不刷新的话是无法得到响应的。 那么有什么解决办法呢 既然有需求一定会有解决办法的如果你有Socket编程经验的话应该知道只要连接建立以后任何一端都可以同时向对方发送数据这本身就是一种全双工的工作方式。 WebSocket WebSocket的百度百科定义 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC6455并由RFC7936补充规范。WebSocket API也被W3C定为标准。WebSocket使得客户端和服务器之间的数据交换变得更加简单允许服务端主动向客户端推送数据。在WebSocket API中浏览器和服务器只需要完成一次握手两者之间就直接可以创建持久性的连接并进行双向数据传输。 因此当一个WebSocket连接建立以后通信的两端就可以以全双工的模式进行通信了。这样对于上面那种需要维持数据实时性的需求就可以抛弃掉轮询这种方式转而使用WebSocket解决并且大大提高了实时性而且只需要维持一个WebSocket连接即可这样也减轻了网络压力。 上面这幅图很好的展示了AJAX轮询和WebSocket之间的区别并且你可以发现WebSocket是需要使用HTTP去建立连接的这一点很重要因为待会的代码实战需要用到它WebSocket是一个应用层协议并且它是建立在TCP之上的具体可以看下图即可知道它们的关系了。 WebSocket连接的建立及数据传输 首先会发送一个HTTP报文然后会响应一个HTTP报文接下来会传输WebSocket协议的数据帧。可以这样来理解HTTP是建立在TCP上的协议HTTP协议本身是TCP的数据部分首部实体然后WebSocket是和HTTP平级的另一种应用层协议它的协议数据帧部分也是TCP的数据部分。 SpringBoot整合WebSocket 1.添加WebSocket依赖在pom.xml文件中添加以下依赖 dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-websocket/artifactId /dependency 2.配置WebSocket创建一个配置类WebSocketConfig并实现WebSocketConfigurer接口用于配置WebSocket。在这个类中你需要注册一个ServerEndpointExporter Bean这样Spring Boot才能扫描到WebSocket的注解。 Configuration EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(myHandler(), /my-websocket-endpoint); } Bean public MyHandler myHandler() { return new MyHandler(); } } 3.创建WebSocket处理器创建一个处理器类MyHandler并实现WebSocketHandler接口这个类将处理WebSocket的连接、消息和错误事件。在这个类中你可以根据需要添加业务逻辑。 import org.springframework.web.socket.TextMessage; import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.handler.TextWebSocketHandler; public class MyHandler extends TextWebSocketHandler { Override public void handleTextMessage(WebSocketSession session, TextMessage message) { // 处理接收到的消息 System.out.println(Received message: message.getPayload()); // 发送回复消息 session.sendMessage(new TextMessage(Hello, message.getPayload() !)); } } 4.创建客户端连接在前端代码中创建一个WebSocket客户端并连接到服务器。你可以使用原生的JavaScript WebSocket API或者使用第三方库如SockJS和StompJS。 以下是一个使用原生JavaScript的示例 const socket new WebSocket(ws://localhost:8080/my-websocket-endpoint); socket.addEventListener(open, (event) { socket.send(Hello Server!); }); socket.addEventListener(message, (event) { console.log(Received message: , event.data); }); 5.测试WebSocket连接启动Spring Boot应用并访问前端页面你应该能看到WebSocket连接成功并建立双向通信。 websocket小案例
http://www.hkea.cn/news/14334438/

相关文章:

  • 石家庄哪里有做外贸网站的公司建一个类似亨物说网站建设费用
  • 好的ppt模板免费下载网站哪个网站可以做加工
  • 小型企业网站如何建设网页页面设计尺寸
  • 网站设置二级域名网站建设一般报价
  • 百度网站数据统计怎么做wordpress忘记密码了
  • 最牛网站建设是谁东莞关键词搜索排名
  • 2018年做淘宝客网站需要备案嘛平面设计素材网站推荐
  • 黑河网站制作织梦做的网站首页被篡改
  • 温州高端网站建设公司哪家好男同志做爰网站
  • 上海网站建设天锐科技网站开发所使用的浏览器
  • 河南建设安全协会网站新能源汽车车型及报价
  • 公司网站建设 费用高端网站建设服务商
  • 网站建设代码好难啊wordpress双站
  • 怎么建网站视频米兰网的网络营销是什么
  • 阿克苏网站建设优化有网站了怎么设计网页
  • 做外贸网站需要注意什么免费开源企业网站程序
  • 融媒体建设网站怎么搞科讯cms怎么做网站地图
  • 手机软件制作和做网站相同网站建设印花税
  • 温州建设做seo的网站
  • 简洁大气企业网站直播网站开发方案ppt
  • 旅游攻略网站官方网站车联网是谁做
  • 泰安网站建设价格旅游网站开发说明书
  • 网站开发中英文版如何写网站特殊字体
  • 河北邯郸网站建设公司乐清做网站公司哪家好
  • 公司网站改版多少钱太原网站的优化
  • 广东建设报网站创新的企业网站建设
  • php网站验证码厦门正规网站建设企业
  • 网站建设要多少费用网站关键词排名seo
  • 如何做网站的后台管理学校网站模板设计
  • 社区网站开发进度表重庆域名注册官网