如何使用Tomcat实现WebSocket即时通讯服务服务端

      最后更新:2022-05-10 16:54:45 手机定位技术交流文章

      JavaEdge的WebSocket的托姆猫?

      HTTP 协议以“ 请求回复” 方式运作, 这意味着浏览器必须在服务器反应之前先向服务器提交请求。 换句话说, 服务器不会主动向浏览器传输数据 。

      浏览器必须实时显示服务器上最新数据,以便实时需求高的应用程序,如在线游戏、实时市场报价和在线共同编辑,从而产生Ajax和彗星技术:

      • 阿贾克斯仍然是个谜
      • 彗星通过长长的 HTTP 连接造成几处骨折。

      然而,它们并不是真正实时的,经常查询会给服务器以及废弃网络流量和带宽带来相当大的负担。 因此,HTML5 包括 WebSocket 标准,使浏览器或服务器能够主动相互发送信息,以便服务器如果有新数据,可以向浏览器推进。

      Web 套套基本原理

      网络上的两个程序通过双向连接进行通信,另一端是索科特。 索科特连接IP地址和端口号,应用程序经常通过索科特传输或响应网络请求。
      Socket不是合同,而是摘述TCP/IP级的API。

      WebSocket (WebSocket) 和 HTTP (HTTP) 一样, 是一个应用程序级协议。 为了与 HTTP 兼容, 它通过 HTTP 协议握手, 然后数据直接从TCP 楼层的 Socket 发送, 与 HTTP 协议无关 。

      握手应用层,而不是TCP层,是握手过程中形成TCP连接的地方。
      HTTP 请求包括 Websocket 请求的负责人以及 Websock 服务解答 。

      浏览器对服务器的请求将包括 WebSocket 相关信头, 如连接: 升级和升级: websocket 。

      如果服务器支持 WebSocket, 将会在 HTTP 响应中包含以下 HTTP 头条 :

      因此 WebSocket 连接已建立 。

      WebSocket数据传输以框架形式进行,将信息分解成许多框架,并按顺序传送。

      • 不论数据大小,大规模数据传输可以分块交付。
      • 它与HTTP块一样,产生数据侧传输,提高传输效率。

      Tomcat 的 WebSocket 支持

      WebSocket聊天室的案例

      浏览器端核心代码:

      服务器端托姆卡特执行代码 :
      Tomcat + {{}}通知中的最终实现等级**通知,值是 URL 路径

      Java WebSocket 指出:WebSocket 端点集由 Java WebSocket 应用程序组成。终点是爪哇类。这篇文章是网络服务报导的一部分。类似于处理HTTP请求的Servlet,它可被视为处理WebSocket信息的一个接口。

      与 Servelet 相比, Tomcat 将每个 WebSocket 连接起来, 以生成一个端点示例 。

      可以通过两种方式

      最终点定义和实施

      编程式

      我不确定,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套,网套然后在Open Open、OnClose和EonError上做这些程序与端点的生命周期有关。Tomcat负责监测终点的生命周期,并调动这些方法。此外,当浏览器连接到终点时,Tomcat 将为此连接建立一个单一的会话 。 我不确定, websocket, websocket, websocket, websocket, websocket, websocket, websocket, websocket, websocket, websocket, websocket 。一旦 WebSocket 连接成功握手, 就会形成一个会话 。然后在断绝连接时毁灭它。在每个生命周期,当端点事件被触发时,作为反馈方法,Tomcat将向本届会议提出结束点的论点。例如,终点与届会相关。通过在会话中加入“HessageHandler”信息处理器,我们得以接收到该信息。OnMessage 方法由 MessageHandler 定义。会话的核心是这里的索科特的信封端点使用它与浏览器互动。

      注解式

      达到公务舱,并增加相关的WebSocket笔记。

      值得指出的是,它表明,目前的商务舱聊天点是完成WebSocket代码的终点,而且该值的附加值表明,ChatEndPoint地图的URL是/websocket/chat

      ChatEndpoint 类为 @OnOpen, @OnClose, @OnError和@OnMessage提供方法。

      我们只需集中精力具体实现终点目标。比如聊天室,为了向全体人民伸出援手,为了跟踪所有ChatEndpoint样本, ChhatEndpoint使用全球静态收集的复制版OnWrite ArraySet。因为每个ChhatEndpoint的例子都是 WebSocket 连接。也就是说 聊天室的参与者
      当 ChatEndpoint 示例从浏览器收到信息时, 它会将信息转发到 WebSocket, 跟踪收藏中的其他 ChatEndpoint 示例 。

      • Tomcat到底做了什么?
        端点装入和 WebSock 请求处理

      正在装入 Web 套件

      Tomcat的正在装入 Web 套件是通过SCI,ServletContainerInitializer,是Servlet 3.0规范中定义的用来接收Web应用启动事件的接口。

      你为什么要监视 服务器集装箱的启动?

      这样就可以在网络应用程序(例如WebSocket)启动时进行某些初步工作,这些应用程序需要扫描和装入端点类。

      与HandlesTypes注释一起,将服务器控制器初始化界面分组。以及评注中描述的一组类别和界面例如,Tomcat为扫描和装载终点确定了以下SCI类型:


      当 SCI 配置时, Tomcat 会扫描启动阶段 HanslesTypes Note 中给定的类, 并将 SCI #on Startup 称为 SCI #on Startup 参数 。

      我不知道你在说什么 班级 服务器应用Config 我不知道你在说什么 班级和终点 我不知道你在说什么 班级和终点因此,在Tomcat的启动期间,这类样品(而不是物体)被送往WsSci#on Startup。

      • WsSci在启动时取得了什么成就?
        这是WebSocket容器的情况。WebSocket Container可被视为一个端点容器,专门处理 WebSocket 请求。Tomcat将登记扫描的端点子分类, 并在容器@ServerEndpoint类上添加注解。此外,集装箱在URL和终点之间保持绘图关系。来自 URL 的请求可以如此识别特定端点, 以便处理 WebSocket 的请求 。

      正在处理网上服务申请。

      • Tomcat 连接组件图

      • 尾点和教授是《议定书》的两个关键组成部分,Tomcat用来掩盖应用层协议的变异。
        在这方面,端点不同于WebSocket中的端点,在端点中,连接器中的端点组件用于处理I/O通信。
        WebSocket 基本上是一个应用程序级协议, 使用特殊处理器处理 WebSocket 请求, 而不是 HtpProcesser 。 在 Tomcat 是 升级处理器中, 该处理器用于处理 WebSocket 请求 。

      Tomcat 从 HTTP 转换到 WebSocket 。因为WebSocket通过HTTP协议交流握手当WebSocket要求握手时Http议定书Handler最初收到了这项请求。处理 HTTP 请求时,Tomcat 确定当前 HTTP 请求是否为 WebSocket 升级请求( 包括 HTTP 升级后页头信息: websocket), HTTP 请求是否为 HTTP 请求如果是,HTTP的回复包括与WebSocket有关的回复信头信息。并进行协议升级。

      更新《议定书》 Handler 将取代目前的 Http 《议定书》 Handler 。相应的,升级处理器将用来替换当前的套接字处理器 。同时,Tomcat将生成 WebSocket 会话和终点案例。然后加入当前的 WebSocket 。WebSocket 连接不会立即终止 。并且在请求处理中,将不再有 Htp 处理器 。然而,使用专门的升级处理器,为了处理请求,升级处理器将最终与匹配的终点样本进行联系。

      Tomcat的WebSocket请求没有通过服务器容器发送。相反,该请求通过升级处理部分直接转交ServerEndpoint案。因此,Tomcat的WebSocket软件实施不需要侧重于独特的I/O模式。结果,具体I/O模式脱钩。

      总结

      由于WebSocket科技,Tomcat得以与浏览器双向连接。Tomcat 可以实时向浏览器提供数据 。该系统可用于满足增加的实时数据需求。这就需要浏览器和网络服务器都支持网络软件标准。Tomcat通过扫描和装载WebSocket的处理服务器Endpoint开始了这一过程,这是第一个被使用的服务器Endpoint。此外,还在URL和ServerEndpoint之间建立了绘图链接。

      第一批网络软件申请抵达,Tomcat 从 HTTP 转换到 WebSocket 。然后将处理器替换为升级处理器, 升级处理器与 Socket 连接 。此套接字不会立即被关闭 。对接下来的请求,Tomcat 直接使用升级处理器呼叫相关服务器Endpoint 。

      泉水也可以用来建造 WebSocket 应用程序。

      选择焦点。第一件事你知道是 你知道,你知道,你知道,你知道,你知道,你知道,你知道, 你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道, 你知道,你知道,你知道,你知道,你知道,你知道, 你知道,你知道,你知道,你知道,你知道, 你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,你知道,

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/24420.html

          热门文章

          文章分类