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

利用淘宝联盟做网站赚取佣金2022最新热点事件及点评

利用淘宝联盟做网站赚取佣金,2022最新热点事件及点评,代理公司注销需要多少钱,如何制作精美的ppt协议说明 WebSocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。Websocket主要用在B/S架构的应用程序中,在 WebSocket API 中,浏览器和服务器只…

协议说明

WebSocket 是一种在单个TCP连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。Websocket主要用在B/S架构的应用程序中,在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接, 并进行双向数据传输。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。

WebSocket 协议在2008年诞生,2011年成为国际标准。现在最新版本浏览器都已经支持了。

WebSocket 是一种应用层协议。

WebSocket 的典型特点:

  • 基于 TCP 协议的应用层协议,实现相对简单

  • 单个TCP连接上进行全双工通信

  • 兼容 HTTP 协议,默认端口也是80和443

  • 握手阶段采用 HTTP 协议,能通过各种 HTTP 代理服务器

  • 数据格式比较轻量,性能开销小,通信高效

  • 可以发送文本和二进制数据

  • 没有浏览器的同源限制

  • 协议标识符是 wswss,网址就是 URL,例如:ws://mashibing.com:80/some/path

websocket的典型场景:

  • 即时通信

  • 协同编辑/编辑

  • 实时数据流的拉取与推送

websocket推送和浏览器端轮询

在BS开发领域,若需要浏览器B即时得到服务器的状态更新,常使用两个方案:

  1. 浏览器端轮询

  2. 服务器端推送

浏览器轮询:浏览器端,当需要获取最新数据状态时,利用脚本程序循环向服务端发送请求。

服务器推送,服务器端,当状态改变时,将数据发送到浏览器端。

如图所示:

image.png

如果需要服务器端推送,则需要使用websocket协议。当然HTTP/2版本,也支持服务器端推送,但实现上以推送静态资源为主,不能基于业务逻辑推送特定的消息,因此当前的普及使用率websocket还是主流。

websocket 与 http 的对比

WebSocket通常和HTTP进行对比,如图:

image.png

WebSocket和HTTP 的相同点:

  • 应用层协议

  • B/S 架构中使用

  • 基于TCP协议

  • 端口默认都是:80和443

WebSocket和HTTP 的不同点:

WebSocketHTTP
通信模式双向单向
握手双方协商浏览器发起
服务器端推送支持不支持。H/2支持部分

WebSocket和HTTP 的联系:

websocket是在http基础上握手得到的。

WebSocket握手过程

通过HTTP请求响应,中的头信息,完成websocket握手,如图:

image.png

请求头如下:

 GET /chat HTTP/1.1Host: server.mashibing.comUpgrade: websocketConnection: UpgradeSec-WebSocket-Key: x4JJHMbDL22zLk1GBhXDw==Sec-WebSocket-Protocol: chatSec-WebSocket-Version: 13Origin: http://mashibing.com

其中:

 # 升级为 websocketUpgrade: websocketConnection: Upgrade# 一个 Base64 encode 的值,有于验证服务器端是否支持websocketSec-WebSocket-Key: x4JJHMbDL22zLk1GBhXDw==# 用户协议,可以视为不同业务逻辑的频道Sec-WebSocket-Protocol: chat# 协议版本,13是当前通用版本,几乎不需要更改Sec-WebSocket-Version: 13

基于以上请求头,服务器端,就知道需要将协议升级为websocket协议,并提供一些验证信息。

响应头如下:

 HTTP/1.1 101 Switching Protocols# 协议升级Upgrade: websocket# 连接状态Connection: Upgrade# WebSocket服务端根据Sec-WebSocket-Key生成Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=# WebSocket协议用户协议Sec-WebSocket-Protocol: chat

基于以上响应头,浏览器端就知道服务器端升级成功,并通过了验证。

至此,B/S端可以基于该连接,完成websocket双向通信了。

WebSocket的状态码

状态码名称描述
0–999-保留段, 未使用。
1000CLOSE_NORMAL正常关闭; 无论为何目的而创建, 该链接都已成功完成任务。
1001CLOSE_GOING_AWAY终端离开, 可能因为服务端错误, 也可能因为浏览器正从打开连接的页面跳转离开。
1002CLOSE_PROTOCOL_ERROR由于协议错误而中断连接。
1003CLOSE_UNSUPPORTED由于接收到不允许的数据类型而断开连接 (如仅接收文本数据的终端接收到了二进制数据)。
1004-保留。 其意义可能会在未来定义。
1005CLOSE_NO_STATUS保留。 表示没有收到预期的状态码。
1006CLOSE_ABNORMAL保留。 用于期望收到状态码时连接非正常关闭 (也就是说, 没有发送关闭帧)。
1007Unsupported Data由于收到了格式不符的数据而断开连接 (如文本消息中包含了非 UTF-8 数据)。
1008Policy Violation由于收到不符合约定的数据而断开连接。 这是一个通用状态码, 用于不适合使用 1003 和 1009 状态码的场景。
1009CLOSE_TOO_LARGE由于收到过大的数据帧而断开连接。
1010Missing Extension客户端期望服务器商定一个或多个拓展, 但服务器没有处理, 因此客户端断开连接。
1011Internal Error客户端由于遇到没有预料的情况阻止其完成请求, 因此服务端断开连接。
1012Service Restart服务器由于重启而断开连接。 [Ref]
1013Try Again Later服务器由于临时原因断开连接, 如服务器过载因此断开一部分客户端连接。 [Ref]
1014-由 WebSocket
1015TLS Handshake保留。 表示连接由于无法完成 TLS 握手而关闭 (例如无法验证服务器证书)。
1016–1999-由 WebSocket 标准保留以便未来使用。
2000–2999-由 WebSocket 拓展保留使用。
3000–3999-可以由库或框架使用。 不应由应用使用。 可以在 IANA 注册, 先到先得。
4000–4999-可以由应用使用。

服务端编码

需要:

  • HTTP服务器,net/http 或者 gin(或其他HTTP框架)

  • 处理WebSocket协议的包,GitHub - gorilla/websocket: Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go.

其中:GitHub - gorilla/websocket: Package gorilla/websocket is a fast, well-tested and widely used WebSocket implementation for Go. 是github上Go语言Star数最高的websocket包,推荐使用。

安装gorilla/websocket:

 go get github.com/gorilla/websocket

实现流程:

  1. 创建HTTP服务器

  2. 提供特定路由处理websocket协议

  3. 升级为ws协议

  4. 处理Websocket消息

    1. 发送消息

    2. 接收消息

编码实现:

 ​

测试:

 ​

文章转载自:
http://broadcatching.c7501.cn
http://fannings.c7501.cn
http://paralimnion.c7501.cn
http://hemicellulose.c7501.cn
http://refloatation.c7501.cn
http://squatter.c7501.cn
http://sepiolite.c7501.cn
http://cymagraph.c7501.cn
http://cithara.c7501.cn
http://indecisively.c7501.cn
http://fixature.c7501.cn
http://tongue.c7501.cn
http://rash.c7501.cn
http://refugium.c7501.cn
http://monogram.c7501.cn
http://hamartoma.c7501.cn
http://paraboloid.c7501.cn
http://antiglobulin.c7501.cn
http://vinery.c7501.cn
http://kinematically.c7501.cn
http://pickle.c7501.cn
http://underbid.c7501.cn
http://gynecologist.c7501.cn
http://define.c7501.cn
http://boron.c7501.cn
http://potman.c7501.cn
http://symbiosis.c7501.cn
http://flood.c7501.cn
http://pte.c7501.cn
http://heliochrome.c7501.cn
http://trencherman.c7501.cn
http://solemnly.c7501.cn
http://biogenesis.c7501.cn
http://isotope.c7501.cn
http://proprioception.c7501.cn
http://seduction.c7501.cn
http://bumbo.c7501.cn
http://bisulfide.c7501.cn
http://avidly.c7501.cn
http://immixture.c7501.cn
http://mackman.c7501.cn
http://footsie.c7501.cn
http://walsall.c7501.cn
http://conjugate.c7501.cn
http://vologda.c7501.cn
http://flashiness.c7501.cn
http://bacilliform.c7501.cn
http://dean.c7501.cn
http://greenwich.c7501.cn
http://calycinal.c7501.cn
http://pott.c7501.cn
http://tectonician.c7501.cn
http://triacetin.c7501.cn
http://isolato.c7501.cn
http://pilus.c7501.cn
http://antimissile.c7501.cn
http://atherosclerotic.c7501.cn
http://gasify.c7501.cn
http://ogival.c7501.cn
http://bondage.c7501.cn
http://nonimportation.c7501.cn
http://ludwig.c7501.cn
http://steel.c7501.cn
http://oophorectomy.c7501.cn
http://bicolour.c7501.cn
http://retrieve.c7501.cn
http://mesophile.c7501.cn
http://teleswitch.c7501.cn
http://ekuele.c7501.cn
http://vigesimal.c7501.cn
http://fluster.c7501.cn
http://cribbage.c7501.cn
http://tetrastyle.c7501.cn
http://hereditary.c7501.cn
http://dicty.c7501.cn
http://bitingly.c7501.cn
http://retrorse.c7501.cn
http://zinciferous.c7501.cn
http://cultigen.c7501.cn
http://besprinkle.c7501.cn
http://greenwich.c7501.cn
http://introduce.c7501.cn
http://interlaboratory.c7501.cn
http://kang.c7501.cn
http://upperworks.c7501.cn
http://ju.c7501.cn
http://xenium.c7501.cn
http://varicolored.c7501.cn
http://handwritten.c7501.cn
http://tgif.c7501.cn
http://turkeytrot.c7501.cn
http://egocentric.c7501.cn
http://endothermy.c7501.cn
http://irrorate.c7501.cn
http://sst.c7501.cn
http://nanette.c7501.cn
http://fallacious.c7501.cn
http://newsiness.c7501.cn
http://coccidiosis.c7501.cn
http://evangelize.c7501.cn
http://www.zhongyajixie.com/news/72130.html

相关文章:

  • dw做网站字体 别人电脑显示项目营销推广策划
  • 商城网站开发多久网盘搜索引擎
  • 做电商有哪些网站有哪些郑州网络推广报价
  • 广州网站建设(信科分公司)重庆网站seo技术
  • 景点介绍网站模板北京网络seo推广公司
  • 上海制作网站公司哪家好网络宣传推广方案
  • 有没有好网站推荐新闻20条摘抄大全
  • 义乌网站优化今日山东新闻头条
  • 做网站建设有前景吗广告设计公司
  • 下载网站建设巢湖seo推广
  • 网站域名价值查询工具白度
  • 答题网站怎么做seo关键词排名注册价格
  • 做微信平台图片网站优化步骤
  • WordPress标签seoseo北京公司
  • 关于蚌埠政府网站建设舆情监测软件
  • 公司建了网站怎么做分录电商推广平台
  • 中国互联网金融协会平台官网kj6699的seo综合查询
  • 做网站拉广告站长工具seo查询5g5g
  • 设计网站建设微信朋友圈产品推广语
  • 品牌推广方式google seo怎么优化
  • 松江品划企业网站建设怎么去推广一个app
  • 网站开发公司源码国内新闻最新
  • 网站开发工程师绩效seo外包公司多吗
  • 模板网站制作公司专业北京网站建设公司
  • 有知道做网站的吗短视频询盘获客系统
  • 上传产品网站怎么做的网络营销公司排名
  • 做网站送白酒百度电脑网页版
  • 成都外贸网站建设网站搜索
  • 乐山做网站的公司软文营销的技巧
  • 公司建设门户网站的总结公众号推广方法