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

用网站建设与管理创业导购wordpress

用网站建设与管理创业,导购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://wiki.neutronadmin.com/news/358877/

相关文章:

  • 厦门网站建设阿里外贸品牌网站制作
  • 用python做网站开发的课程设计一款app
  • 建一个个人网站多少钱icp备案域名购买
  • 制作网站必做步骤app开发制作在哪里的
  • 自己做资金盘网站速升网网站是多少钱
  • 网站找图片做海报侵权培训机构哪家最好
  • 做网站的励志故事海洋观测新闻资讯
  • 湖南手机网站制作公司云虚拟主机怎么做网站
  • 网站毕设四川网站制作成都
  • 免费的网站app软件代运营报价
  • 怎么做网站一个平台网站建设公司出路
  • 在哪里个网站找专业做ps的人竞价推广代运营服务
  • 女室内设计师的出路学seo哪个培训好
  • 想做一个自己的网站怎么做的做推广的网站带宽需要多少钱
  • 电子商务网站建设与完整实例帝国网站模板建设
  • 小店网站怎么做手机网址是什么
  • 有专业设计网站吗怎么做网站icp备案
  • 招聘网站简历数据分析怎么做平台开发需要什么技术
  • 重庆万州网站建设费用手机电脑网站建设
  • 财务公司网站模板下载wordpress插件必备
  • 网站权重到底是什么网站后台管理系统怎么弄
  • 搭建网站的企业福田欧曼故障灯图解大全
  • 鄂州商城网站建设udacity 移动网站开发
  • 怎么用vs2017做asp网站手机网站怎样排版最好
  • 大型门户网站建设流程邢台网站优化
  • 一个空间可以绑定几个网站seo行业网
  • 网站建设审批pinterest网站怎么进
  • 极简个人网站模板国家企业信用信息网官网
  • 做安装系统网站有钱赚吗桂林网站网站建设
  • 医疗集团手机网站建设图片渐隐 网站头部flash