📝 WebSockets教程
18篇技术文档📅  最后修改于: 2020-10-17 05:52:19        🧑  作者: Mango
Web套接字被定义为服务器和客户端之间的双向通信,这意味着双方都同时通信和交换数据。该协议从头开始定义全双工通信。 Web套接字在将桌面丰富功能引入Web浏览器方面向前迈进了一步。它代表着一种进化,它在客户端/服务器Web技术中等待了很长时间。听众本教程是为具有协议基础知识和HTTP知识的任何人准备的。学习完本教程后,您将了解有关Web套接字与传统HTTP请求/响应模式的不同之处的专业知识。先决条...
📅  最后修改于: 2020-10-17 05:52:42        🧑  作者: Mango
从字面量看,握手可以定义为两个人握住和握手,以表示问候,祝贺,同意或告别。在计算机科学中,握手是确保服务器与其客户端同步的过程。握手是Web套接字协议的基本概念。下图显示了与各种客户端的服务器握手-Web套接字–定义Web套接字被定义为服务器和客户端之间的双向通信,这意味着双方都同时进行通信和交换数据。Web套接字的关键点是真正的并发性和性能优化,从而可以使响应更快,功能更丰富的Web应用程序。W...
📅  最后修改于: 2020-10-17 05:53:06        🧑  作者: Mango
在开始使用Web套接字之前,有必要了解一下用于服务器与客户端之间的双工通信的现有技术。它们如下-轮询长轮询流媒体回发和AJAXHTML5轮询轮询可以定义为一种方法,无论传输中是否存在数据,该方法都将执行定期请求。定期请求以同步方式发送。客户端在指定的时间间隔内向服务器发出定期请求。服务器的响应中包含可用数据或某些警告消息。长轮询顾名思义,长轮询包含类似轮询的技术。客户端和服务器将连接保持活动状态,...
📅  最后修改于: 2020-10-17 05:53:25        🧑  作者: Mango
Web套接字表示Web通信历史上的重大升级。在其存在之前,Web客户端和服务器之间的所有通信仅依靠HTTP。Web套接字有助于持久性全双工连接的动态流动。全双工是指从两端以相当快的速度进行通信。由于其克服了现有协议的所有缺点的效率,因此被称为游戏规则改变者。开发人员和建筑师的Web套接字Web Socket对开发人员和架构师的重要性-Web套接字是一个独立的基于TCP的协议,但它设计为支持传统上仅...
📅  最后修改于: 2020-10-17 05:53:43        🧑  作者: Mango
Web套接字不仅在Web中而且在移动行业中都扮演着关键角色。 Web套接字的重要性在下面给出。顾名思义,Web套接字与Web相关。 Web包含一些针对某些浏览器的技术。它是适用于大量设备(包括台式计算机,笔记本电脑,平板电脑和智能手机)的广泛通信平台。利用Web套接字的HTML5应用程序可在任何支持HTML5的网络浏览器上运行。Web套接字在主流操作系统中受支持。移动行业中的所有主要参与者都在自己...
📅  最后修改于: 2020-10-17 05:54:06        🧑  作者: Mango
必须初始化从客户端到服务器的连接,以便它们之间进行通信。为了初始化连接,需要使用远程或本地服务器的URL创建Javascript对象。上面提到的URL是可用于测试和实验的公共地址。 websocket.org服务器始终处于运行状态,并且在接收到消息并将其发送回客户端时会一直保持运行状态。这是确保应用程序正确运行的最重要步骤。Web套接字–事件有四个主要的Web Socket API事件–打开信息关...
📅  最后修改于: 2020-10-17 05:54:25        🧑  作者: Mango
一旦在客户端和服务器之间建立了连接,就会从Web Socket实例中触发open事件。这称为客户端和服务器之间的初始握手。建立连接后引发的事件称为onopen。创建Web套接字连接非常简单。您所要做的就是调用WebSocket构造函数并传入服务器的URL。以下代码用于创建Web套接字连接-建立连接后,将在您的Web Socket实例上触发open事件。onopen是指客户端与服务器之间的初始握手,...
📅  最后修改于: 2020-10-17 05:54:50        🧑  作者: Mango
一旦在客户端和服务器之间建立了连接,就会从Web Socket实例中触发一个打开事件。在通信过程中会因错误而产生错误。它标记为onerror事件的帮助。在出现错误之后,总是会终止连接。当通信之间发生错误时,将触发onerror事件。事件onerror之后是连接终止,这是一个关闭事件。良好的做法是始终将意外错误通知用户,并尝试重新连接它们。对于错误处理,您必须同时考虑内部和外部参数。内部参数包括由于...
📅  最后修改于: 2020-10-17 05:55:14        🧑  作者: Mango
消息事件通常在服务器发送一些数据时发生。服务器发送到客户端的消息可以包括纯文本消息,二进制数据或图像。无论何时发送数据,都会触发onmessage函数。此事件充当服务器的客户端。每当服务器发送数据时,就会触发onmessage事件。以下代码段描述了如何打开Web套接字协议的连接。还必须考虑借助Web套接字可以传输哪些类型的数据。 Web套接字协议支持文本和二进制数据。用Javascript来说,文...
📅  最后修改于: 2020-10-17 05:55:32        🧑  作者: Mango
关闭事件标志着服务器与客户端之间的通信结束。借助onclose事件可以关闭连接。在借助onclose事件标记通信结束之后,无法在服务器和客户端之间进一步传输任何消息。由于连接性不佳,也可能导致事件关闭。close()方法代表再见握手。它将终止连接,除非重新打开连接,否则无法交换任何数据。与前面的示例类似,当用户单击第二个按钮时,我们调用close()方法。如下所示,也可以传递我们前面提到的代码和原...
📅  最后修改于: 2020-10-17 05:55:56        🧑  作者: Mango
Web Socket服务器是一个简单的程序,具有处理Web Socket事件和操作的能力。它通常向Web Socket客户端API公开类似的方法,并且大多数编程语言都提供了一种实现。下图说明了Web Socket服务器和Web Socket客户端之间的通信过程,着重介绍了触发的事件和操作。下图显示了Web Socket服务器和客户端事件触发-连接到Web服务器Web Socket服务器的工作方式与...
📅  最后修改于: 2020-10-17 05:56:22        🧑  作者: Mango
API –定义API是应用程序接口的缩写,是用于构建软件应用程序的一组例程,协议和工具。一些重要的功能是-API指定了在对图形用户界面(GUI)组件进行编程时应如何交互软件组件以及应使用API。好的API可以通过提供所有构件来简化程序的开发。REST通常在HTTP上运行,通常在移动应用程序,社交网站,mashup工具和自动化业务流程中使用。REST风格强调通过有限数量的操作(动词)来增强客户端与服...
📅  最后修改于: 2020-10-17 05:56:47        🧑  作者: Mango
以下程序代码描述了使用JavaScript和Web套接字协议的聊天应用程序的工作。下面讨论了聊天应用程序的主要功能和输出-要进行测试,请打开两个具有Web Socket支持的窗口,在上方键入消息,然后按回车键。这将启用聊天应用程序的功能。如果未建立连接,则输出如下所示。聊天通讯成功的输出如下所示。...
📅  最后修改于: 2020-10-17 05:57:21        🧑  作者: Mango
Web很大程度上是围绕HTTP的请求/响应范例构建的。客户端加载网页,然后在用户单击下一页之前,没有任何反应。在2005年左右,AJAX开始使网络更具活力。尽管如此,所有HTTP通信仍由客户端控制,这需要用户交互或定期轮询才能从服务器加载新数据。使服务器能够在知道新数据可用的那一刻将数据发送到客户端的技术已经存在了很长时间。它们以“ Push”或“ Comet”之类的名称命名。使用长轮询时,客户端...
📅  最后修改于: 2020-10-17 05:57:46        🧑  作者: Mango
出于安全原因,应设计协议。 WebSocket是一种全新的协议,并非所有的Web浏览器都能正确实现。例如,尽管规范暗示了相反的情况,但是其中一些仍然允许HTTP和WS的混合。在本章中,我们将讨论用户应注意的一些常见安全攻击。拒绝服务拒绝服务(DoS)攻击试图使计算机或网络资源对于请求它的用户不可用。假设某人以无间隔或极短的间隔向Web服务器发出无数个请求。服务器无法处理每个连接,并且将停止响应或保...