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

免费企业网站模板psd电子商务网站开发的背景

免费企业网站模板psd,电子商务网站开发的背景,微信商城开发用华网天下卓越,wordpress主题白屏概述 刚看到WeSocket的时候#xff0c;我以为是HTTP相关#xff0c;但是在前两天搭了一个简单的Client之后, 我发现这不就是TCP长连接么? 建立连接-通信-断开连接. 直到今天, 我在调试的时候, 发现发出了HTTP请求, 我想, 事情可能不是我想的那样. 先来简单描述一下…概述 刚看到WeSocket的时候我以为是HTTP相关但是在前两天搭了一个简单的Client之后, 我发现这不就是TCP长连接么? 建立连接-通信-断开连接. 直到今天, 我在调试的时候, 发现发出了HTTP请求, 我想, 事情可能不是我想的那样. 先来简单描述一下当时的情况 我用Python代码简单打了一个WebSocket 客户端, 想着试一试, 代码很简单, 就是这: import websocket import threading import timeclass Status:INIT initOPENED openedCLOSED closedclass WSTest:def __init__(self):self.thread Noneself.ping_thread Noneself.ws Noneself.status Status.INITdef send_message(self, message) - bool:if self.status ! Status.OPENED:return Falseself.ws.send(message)return Truedef close(self):self.ws.close()# 等待关闭for i in range(200):time.sleep(0.02)if self.status Status.CLOSED:breakif self.status ! Status.CLOSED:returnif self.ping_thread and self.ping_thread.is_alive():self.ping_thread.join()def run(self):def on_message(ws, message):print(message)def on_error(ws, error):print(error)def on_close(ws):print(关闭连接)self.status Status.CLOSEDdef on_open(ws):self.status Status.OPENEDself.ws websocket.WebSocketApp(ws://echo.websocket.org,on_openon_open,on_messageon_message,on_closeon_close,on_erroron_error)self.ping_thread threading.Thread(targetself.ws.run_forever, args(None, None, 2, 5))self.ping_thread.start()if __name__ __main__:ws WSTest()ws.run()while True:s input()if s close:breakws.send_message(s)ws.close()上面的ws://echo.websocket.org 是一个测试用的域名你发送什么过去他就会返回什么. 到这里我简单运行了一下还可以本来我想简单搭一个能调通就得了呗但是手贱的我打开了wireshark. 我想看一下它的网络连接 wireshark抓包查看 首先找到域名的IP 找到IP后就可以直接对IP进行过滤找到接收和发送的数据包直接过滤所有DNS解析请求查找指定域名. 然后针对地址对请求进行过滤 来来来看到了什么前面三个TCP请求是三次握手的请求在三次握手之后的第一个请求是什么HTTP??? 看一下它的请求内容 看到第一个Upgrade之后我仿佛懂了这个字段的含义是要将协议升级后面跟着的就是websocket了再看一下服务器的response(后面那个TCP请求可以跳过就是服务器告诉你它收到了). 响应内容虽然有不明白的地方但是大概看来是同意升级协议的意思了再然后才是websocket通信内容以及最后的挥手告别 也就是说websocket虽然能够实现双向通信但是它的连接建立是从HTTP开始然后升级协议来的 所以websocket的通信流程是 三次握手建立TCP通信发起HTTP请求升级为websokcet协议开始websocket通信断开连接 如果把中间的websocket去掉那就完全是HTTP协议了. 没想到websocket与HTTP是兄弟俩. 思考 既然WebSocket是基于HTTP协议建立的, 那么他的出现就一定是在HTTP之后, 这就说明它一定是为了解决HTTP的某些问题而出现的. 很显然: HTTP的单向通信限制, 服务器不能主动联系客户端 HTTP协议本身就是基于TCP的, 而TCP本身就是全双工通信的. 这感觉就像是他们借用了一下HTTP, 然后说咱们接下来就都用WebSocket吧. 那么问题来了, 既然要实现这种长连接, 为什么还要借助HTTP之手, 直接TCP建立连接不行么? 查了一下, 发现是为了兼容. 因为WebSocket就是为了解决HTTP协议问题, 也就是说主要运行在之前HTTP的场景中, 而为了兼容现有浏览器的握手规范, 所以借助了HTTP协议来完成握手. WebSocket协议是: ws 和 wss. 其区别与 http 和 https 相同. wss 就是在 ws 的通信过程中再套一层TLS/SSL 协议. 那么WebSocket有哪些应用场景呢? 可以这么说, 在原来使用HTTP协议进行轮训的场景, 都可以使用WebSocket替换. 在线聊天直播在线多人游戏等等… 最后, 记一下建立连接的HTTP请求的头信息 request connection: Upgrade 升级协议Upgrade: websocket 指定升级为WebSocket协议Sec-WebSocket-Key: 用于判断客户端是否有权升级协议Sec-WebSocket-Version指定WebSocket 版本 response Upgrade: websocket 成功升级协议Sec-WebSocket-Accept: 通过Sec-WebSocket-Key计算得来
http://www.sadfv.cn/news/131387/

相关文章:

  • 南阳网站推广排名酒店网站建设策划书
  • 龙海网站建设国家允许哪几个网站做顺风车
  • 大连网站建设渠道公众号视频网站怎么做
  • 文昌网站建设 myvodo企业网盘系统
  • 大连网站建设是什么点击排名软件哪个好
  • 网站竞价怎么做智慧团建app官网下载
  • 建设网站审核客户做网站要退款
  • 如何设计网站北京南站最新消息
  • 武山县建设局网站郑州网站seo诊断
  • 公司网站数据分析做资质去哪个网站填资料
  • 扬州建设教育信息网站1688的网站特色
  • 做网站可以用自己的主机网站建设沈阳凯鸿
  • 做网站可以赚钱么自己怎么建立个人网站
  • 网上商城代码wordpress添加分类目录seo标题
  • 上海羽贝网站建设门户网站建设内
  • 网站漂浮广告代码做网站充值微信必须是企业
  • 公司做网站是做什么账务处理培训网站建设公司哪家好
  • 浙江做网站多少钱一流导航设计网站
  • 网页设计网站开发需要什么服务商英文
  • 张家港网站网络公司网站开发涉及技术
  • 网站运营与管理内蒙古企业网站制作
  • 网站免费建站pixiv app做网站做百度竞价赚钱
  • 网站首页是什么意思平面设计主要有哪些
  • 一个网站的基调开外贸公司的流程及费用
  • 昆明网站建设推荐谁好呢海外 网站 推广
  • 网站的建立步骤网站源码使用方法
  • wordpress怎么加音乐上市公司seo是什么意思
  • ui设计 国外网站律师事务所网站案例
  • 周期购那个网站做的比较好家具网页设计素材
  • 设计网站都有什么作用产品线上推广方案