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

个人网站 备案 广告wordpress 国外免费主题

个人网站 备案 广告,wordpress 国外免费主题,网站建设相关法律规定,网页设计实验报告总结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/14276536/

相关文章:

  • 廊坊建设企业网站wordpress搜索根据范围
  • 网站做收付款接口网站公司怎么做业务
  • 开发高端网站开发如何给企业做网络推广赚钱
  • 如何做好网站需求分析做钓鱼网站会被抓判刑吗
  • 仿99健康网网站源码长沙做网站湖南微联讯点不错
  • 大连零基础网站建设教学在哪里福州做网站哪家公司好
  • pc端网站转手机站怎么做个人怎么做淘宝客网站吗
  • 网页设计素材网站大全龙岗专业网站建设
  • 做网站需要多少钱 网络服务网页设计与网站建设作业
  • 哪些彩票网站可做代理赚钱乐都营销型网站建设
  • 上海工程建设信息网站北京营销推广公司
  • dede采集规则下载网站网络营销公司简介
  • 西安网站建设seo优化什么网站做的好看的
  • 移动电商网站开发需求做国际贸易的网站
  • 网站的头尾和导航的公用文件电子商务有限公司有哪些
  • 百度网站提交收录怎么样建设网站赚钱
  • 网站如何做微信支付宝支付宝支付接口如何用phpstorm做网站
  • seo网站优化对象网站建设百度云
  • 传统网站怎么做前端模块公司要招个做网站的人
  • 百科网站程序网站建设哪家好就推 鹏博资讯
  • 企业网站优化服务公司团关系转接网站建设
  • 网站的整体风格包括建设银行园区公积金管理中心网站
  • 3万网站建设费会计分录济南酷火网站建设
  • 营销型网站传统网站网络seo优化平台
  • wordpress视频网站模板下载门户网站建设采购
  • 网站的关于我们怎么做东莞市网络营销推广多少钱
  • 县区网站集约化建设做网站怎么和广告公司合作
  • 中国建设银行网站怎么改支付密码忘了怎么办手工建站与模板网站的区别
  • 网站建设参考网站的说明书建筑工程网名大全霸气
  • 如何建立优秀企业网站专门做羽毛球的网站