当前位置:  开发笔记 > 编程语言 > 正文

HTML5 Web套接字接口如何工作?

如何解决《HTML5Web套接字接口如何工作?》经验,为你挑选了2个好方法。

我在这里从相关问题中听说了HTML文件规范中的Web套接字接口.
听起来很有前途!
我不明白它是如何工作的它仍然使用HTTP协议并解决它或它是否像TCP套接字一样工作?



1> dan_waterwor..:

在某种程度上,它既是HTTP请求又是常规TCP套接字.

使用TCP上的普通HTTP请求请求websocket连接.发送了一些标题,向Web服务器指示它是正在请求的websocket,而不是普通页面,但从根本上说它只是一个HTTP请求.

从服务器发送响应后,将升级连接.也就是说,用于HTTP的TCP连接被劫持以获得更高的调用:双向,实时数据传输.

一旦你具备双向和高效通信的能力(这是对彗星的主要胜利),开发人员的视野就会大大增加.突然之间,MMO游戏和实时协作之类的东西变得可能,这些东西只能通过网络技术实现.



2> kanaka..:

它不是HTTP,也不是普通的TCP套接字.它旨在获得常规套接字连接的低开销(AJAX/COMET是非常高的开销),但不会牺牲过去几年开发的一些浏览器安全原则.

初始WebSockets握手看起来很像HTTP.这将使现有的HTTP代理和Web服务器更容易支持传入的WebSockets连接并使用它们做正确的事情(即将它们转发到真正的处理程序).但是在成功握手(包括交换和验证原始信息)之后,连接保持打开并变为双向.

每个数据包(无论是从服务器还是从客户端发送)都以'\ x00'(零字节)开头,后跟UTF-8编码数据,以'\ xff'结尾(全1字节).

目前的标准草案如下:http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76

您还可能会发现noVNC中包含的wsproxy可用作参考.wsproxy是TCP套接字代理的通用WebSockets.noVNC附带了wsproxy的C和python版本.

http://github.com/kanaka/noVNC/tree/master/utils/

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有