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

广州建站公司有哪些天津业之峰装饰公司官网

广州建站公司有哪些,天津业之峰装饰公司官网,优化营商环境工作总结,装修案例英文Websockt概念 Websockt是一种网络通信协议#xff0c;允许客户端和服务器双向通信。最大的特点就是允许服务器主动推送数据给客户端#xff0c;比如股票数据在客户端实时更新#xff0c;就能利用websocket。 Websockt和http协议一样#xff0c;并不是设置在linux内核中允许客户端和服务器双向通信。最大的特点就是允许服务器主动推送数据给客户端比如股票数据在客户端实时更新就能利用websocket。 Websockt和http协议一样并不是设置在linux内核中而是通过用户空间的应用程序来实现和处理。 http网址的格式协议://域名/路径。如Example Domain。 websocket网址的格式ws://域名/路径 或 wss://域名/路径。如ws://www.example.com/chat。 Websocket与http的关联 1、基于HTTP协议的握手WebSocket协议的握手过程是基于HTTP协议的。在建立WebSocket连接之前客户端和服务器之间会进行一次HTTP握手这是为了协商和确认使用WebSocket协议进行通信。 2、共享同一端口WebSocket协议使用HTTP协议的80端口或443端口用于加密连接这意味着WebSocket连接可以通过与HTTP服务器共享同一端口来进行通信。这样可以避免在网络上开启新的端口降低了网络配置的复杂性。 Websocket与http对比 优点 实时性WebSocket支持双向通信服务器可以主动推送数据给客户端实现实时更新和推送功能。 较低的延迟WebSocket建立一次连接后可以保持长时间的连接状态避免了每次请求都要建立新的连接的开销从而减少了延迟。 较小的数据开销WebSocket使用二进制消息传输相对于HTTP的文本数据传输可以减少数据包的大小降低网络传输开销。 更少的网络流量由于WebSocket采用长连接不需要频繁的请求和响应可以减少网络流量和负载。 缺点 兼容性问题WebSocket是HTML5的一部分相对于HTTP对于一些低版本的浏览器和服务器来说支持程度可能较低。 需要服务器端支持WebSocket需要服务器端支持实现双向通信而有些服务器可能没有提供WebSocket的支持。 协议复杂性相对于HTTP来说WebSocket的协议相对复杂一些实现和维护的成本可能较高。 Websocket的握手 与http握手的区别 下图是websocket的握手报文案例。与http握手报文的核心区别是两处红框部分是否是Upgrade和websocket。 Websocket的握手流程 1.浏览器发送握手报文。 2.服务器解析出sec-websocket-key 3.sec-websocket-key与GUID字符串联合成新字符串。 GUID是一组固定的字符串在websocket的官方文档里有规定。 4.用哈希算法对新字符串进行哈希 5.对哈希值转为base64格式生成value 6.把value配握手返回报文中进行返回 仿股票数据推流 股票数据的推流的特点客户端连接上服务器之后服务器就会定时往客户端发送更新过的股票数据。 下图实现了一个简易版的服务器能定时给连接上的客户端推送数据当客户端尝试发送数据的时候会断开连接。 import asyncio import websocketsasync def push_price(websocket, path):while True:price price 299.9await websocket.send(price)try:# 接收消息message await asyncio.wait_for(websocket.recv(), timeout1)# 如果接收到消息立即断开连接if message:await websocket.close()breakexcept:pass start_server websockets.serve(push_price, None, 8765) //返回一个协程对象//该对象的任务函数是push_priceasyncio.get_event_loop().run_until_complete(start_server) asyncio.get_event_loop().run_forever() 客户端 html headscriptlet ws;function doConnect(addr) {ws new WebSocket(ws:// addr);ws.onopen () {document.getElementById(log).value ( Connection opened\n);};ws.onmessage (event) {document.getElementById(log).value ( Receive: event.data \n\n); // JSON.stringify()};ws.onclose () {document.getElementById(log).value ( Connection closed\n);};}document.addEventListener(DOMContentLoaded, (event) {document.getElementById(btn_connect).onclick () {let server_addr document.getElementById(server_addr).value;doConnect(server_addr);};document.getElementById(btn_send).onclick () {let msg document.getElementById(message).value;ws.send(msg);document.getElementById(log).value ( Send: msg \n);};});/script /head bodydiv idheaderh1 alignleftWebSocket Client/h1Server: input idserver_addr typetext value192.168.232.132:8888input idbtn_connect typebutton valueConnect!br/br/Message: input idmessage typetext valueinput idbtn_send typebutton valueSendbr/br/textarea cols250 idlog rows50/textarea /div /body /html ~ ~ ~ 运行结果
http://www.dnsts.com.cn/news/32784.html

相关文章:

  • 网站制作设计多少钱交通局网站建设方案
  • 网站开发模块就业前景p2p做网站
  • 网站开发的完整流程图抽奖网站怎么制作
  • 海口网站建设方案中国最顶尖的服装设计公司
  • 谁可以做网站沈阳市网站制作公司
  • php怎样做网站制作网站免费建站
  • ip做网站地址中国十大外贸平台
  • 怎么在vmware上做网站南阳旅游网站建设现状
  • 网站的想法深度网营销型网站建设
  • 在线A视频网站l一级A做爰片zenm自己做网站
  • 网站备案 新闻审批号长沙网站开发微联
  • wordpress抓取别人网站小红书的网络营销模式
  • flashfxp上传了网站重庆网络教育学院官网
  • 庆阳有人做农资网站吗wordpress集中权重
  • 郴州网站制作哪个网站建设公司
  • 那些语言可以建网站太原建站公司点击查看
  • 住房和城乡建设部网站公告昆山网站建设第一品牌
  • html5响应式网站psdpython做网站视频教程
  • 商城网站建设浩森宇特网站建设征求意见
  • 网站建设合同 知乎中国万网提供的服务和收费情况
  • 网站生成静态页面工具南康网站网站建设
  • vps 网站能打开链交换
  • 企业网站建设总结报告搜索技巧的网站
  • uv推广平台学校网站怎么做优化
  • 青岛建设网站开发者模式有什么好处和坏处
  • 辽宁网站建设fengyan汕头网站开发
  • 怎么删除网站死链重庆专业微信商城建设公司
  • 网站建设给客户看的ppt模板在百度备案网站
  • 张家港快速网站建设成立一个做网站的公司
  • 如何做新闻自动采集网站企业管理系统项目源码