首页 » 部落格 » 在 Web 应用程序中使用 Web 套接字

在 Web 应用程序中使用 Web 套接字

技术正在飞速发展,第一部智能手机仅在 10 年前售出。你可能还记得著名的iPhone 3G,它彻底改变了世界,给手机行业带来了翻天覆地的变化。令人惊奇的是,几年后,已经有了一个更新版本,然后在更短的时间内又出现了另一个版本,等等……我们已经达到了这样的程度:每年大公司都会推出一种新型号,更快、更强大,采用更好的芯片和 A.S. 考虑到全时空智能技术的使用越来越成为我们生活中的优先事项,人类的需求也在不断增加,他们希望应用程序能够更快、更灵活地对其做出响应。

无论是在各种社交网络

上聊天还是在线购物,我们已经达到了消费者要 格鲁吉亚电报手机号码列表 求立即响应的地步。 但如何才能实现这种实时交互呢?这就是 websocket 发挥作用的地方。 什么是网络套接字? Web 套接字是由 W3C(万维网联盟)开发的一项技术,它通过在单个 TCP 连接上提供通道来允许客户端和服务器之间进行双向通信。 WebSockets 允许我们放弃称为“轮询”的旧 HTTP 模型,即以一定的时间间隔发送 HTTP 请求以获得“立即”响应,并实现两点之间的直接通信,而无需发送持续的请求。

使用示例 社

交网络中的墙(动态) 多人游戏 在线文档的协作编辑 聊天记录 定位应用 在所有这些情况下,都需要用户和服务器之间的实时通信。这种沟通是如何建立的? 与网络套接字通信 下图展示了使用websocket在客户端和服务器之间建立通信的过程。 为了建立通信,客户端向服务器发送握手请求。此请求由具有以下标头的 HTTP 请求组成。 “主机:{url}”。 表示我们要通信的服务器。 “升级:websocket”。

更新 HTTP 请求字段允许

我们在建立 HTTP 连接后更改协议。在这种情况下,它表明我们要切换到WebSocket协议。 “连接:升级”。 该字段指示要建立的连接的类型。通常会实现“Keep-Alive”连接,但在这种情况下,要对 WebSocket 协议进行更改,该字段必须包含“更新”连接类型。 “sec-websocket-key:{key}”。 此标头提供了来自 websocket 服务器的一些信息,以验证在握手期间是否收到了有效的请求。

服务器接收并验证该请求

格鲁吉亚电报手机号码列表

并通过更改客户端请求中指定的协议进行响应,从而在客户 如何修复“已发现 – 目前未编入索引” 端和服务器之间建立双向通信。 我们还能从这种使用中获得什么其他好处? 让我们举一个非常简单的例子,我们有一台位于网络 A 上的服务器,需要向位于网络 B 上的计算机发出直接请求。 如果计算机有公共IP地址(这种情况很少见),则数据包可以直接发送到计算机。但是,在此之前,您必须经过网络 B 的防火墙和路由器,这意味着网络 B 必须允许来自网络 A 的传入数据包。

通常计算机会被分配

一个只能在网络内访问的专用 IP 地址。这意味 俄罗斯号码列表 着数据包不能再直接发送到计算机,而必须发送到网络 B 上的公共 IP 地址,即发送到网络接入点(防火墙)。 数据包到达网络 B 上的入口点后,必须发送到目的计算机,因此在这个入口点,需要添加某种将数据包转发到目的计算机(NAT)的机制。 我们不想在这里讨论太多细节,但简而言之,这个系统对于上面讨论的服务类型来说不能很好地扩展。 有了网络套接字,这一切甚至都被遗忘了。

滚动至顶部