iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >如何通过WebSocket实现浏览器与服务器的通信
  • 782
分享到

如何通过WebSocket实现浏览器与服务器的通信

2023-06-04 19:06:27 782人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关如何通过websocket实现浏览器与服务器的通信的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。现如今有个需求,基于WEBSocket实现浏览器与服务器的通信。由于之前没有使用过webs

这篇文章给大家分享的是有关如何通过websocket实现浏览器与服务器的通信的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

现如今有个需求,基于WEBSocket实现浏览器与服务器的通信。由于之前没有使用过websocket,在网上大致搜索了一圈,寻找websocket的集成方案。网上寻找的方案大致如下:
1.基于spring的方式实现,加入spring-websocket依赖,加注解,配置相应的拦截器和路径;
2.基于SpringBoot的方式,本质上还是基于spring;
3.基于J2EE应用服务器,好像从Tomcat7开始有提供websocket支持,直接用@WebsocketEnd 可实现,该注解由servlet包提供;

它们有一个特点,那就是基于servlet实现的(第3种方式尚未求证).

然而,由于种种原因,我需要基于struts2实现,也就是基于Filter实现这个过程,百度了良久,发现的方案是: 在struts2的拦截器中使用元字符开辟一个路径,然后再进行拦截, 尝试未果!
<constant name="struts.action.excludePattern" value="/ws/.*,ws://.*"></constant>

最后,采用的spring+注解的方式实现websocket方案。

又由于其他的原因,导致势必要将基于 spirngmvc,也就是servelt的方案转到 struts,也就是Filer去。 因此,经过一番思索加上实践,终于找到了相应的解决方案这里记录一下,以期能够帮助同僚们解决相应的需求:

首先使用堆栈追踪,找到websocket这个servlet执行流程:

堆栈如下:
如何通过WebSocket实现浏览器与服务器的通信

 
然后,结合springMVC的执行流程进行分析:
如何通过WebSocket实现浏览器与服务器的通信

 
经过分析,我们可以将整个模型逻辑从servelt 搬迁到 相应的Filter上,但是面对诸多的配置,如何平滑的迁移是个问题,我是这样处理的,在mvc这边执行时打上断点,查看相应内存中的变量类型,然后手动构造:
原来的代码长这样:
如何通过WebSocket实现浏览器与服务器的通信

 
经实践,那些众多的配置以及 @Configuration 用于与springmvc的相应配置,以及这里本地参数的初始化。 因此我完全可以手造一个。

我造的代码如下:
如何通过WebSocket实现浏览器与服务器的通信

 如何通过WebSocket实现浏览器与服务器的通信

其它的逻辑就直接基于struts即可。
经过实践,是可行的,且用起来很顺手,暂未发现其余问题。

感谢各位的阅读!关于“如何通过WebSocket实现浏览器与服务器的通信”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何通过WebSocket实现浏览器与服务器的通信

本文链接: https://www.lsjlt.com/news/239077.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何通过WebSocket实现浏览器与服务器的通信
    这篇文章给大家分享的是有关如何通过WebSocket实现浏览器与服务器的通信的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。现如今有个需求,基于websocket实现浏览器与服务器的通信。由于之前没有使用过webs...
    99+
    2023-06-04
  • golang WebSocket与浏览器的集成:实现即时通信
    Golang是一种高效、简单、易于学习的编程语言,而WebSocket是实现即时通信的重要技术。本文将介绍如何在Golang中集成WebSocket,并实现与浏览器的即时通信功能。1. 引言在Web应用开发中,实时通信是一种非常重要的功能要...
    99+
    2023-12-17
    Golang websocket 即时通信
  • java中通过servle4t实现浏览器服务器的
    ava中servlet类,首先建一个包cn.java.servlet,同样建一个cn.java.entity的包用来建立实体类。本节是Java-web阶段第52课时,通过继承servlet类实现了,从浏览器端发送请求到服务器(这时候在con...
    99+
    2023-06-02
  • vue如何实现浏览器桌面通知
    本篇内容主要讲解“vue如何实现浏览器桌面通知”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何实现浏览器桌面通知”吧!浏览器桌面通知:当浏览器最小化,或者切换到其他标签页不在当前系统页面...
    99+
    2023-07-04
  • 基于Node.js如何实现WebSocket通信
    这篇文章将为大家详细讲解有关基于Node.js如何实现WebSocket通信,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。node的依赖包node中实现Websocket...
    99+
    2024-04-02
  • 怎么实现两个浏览器窗口间通信
    本篇内容主要讲解“怎么实现两个浏览器窗口间通信”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现两个浏览器窗口间通信”吧!1、localStorage一个窗...
    99+
    2024-04-02
  • golang WebSocket教程:如何实现实时通信
    Golang WebSocket教程:如何实现实时通信首先,让我们来介绍一下什么是WebSocket。WebSocket是一种在Web浏览器和服务器之间进行全双工通信的协议。与HTTP协议不同,WebSocket允许服务器向客户端推送数据,...
    99+
    2023-12-17
    golang WebSocket教程:实时通信
  • 实现与阿里云服务器的通信
    本文将详细介绍如何实现与阿里云服务器的通信。首先,我们将介绍阿里云服务器的基本信息和其通信协议。然后,我们将介绍如何使用阿里云的SDK进行服务器通信。最后,我们将介绍一些常见的问题及其解决方案。 一、阿里云服务器的基本信息阿里云服务器是阿里...
    99+
    2023-11-11
    阿里 通信 服务器
  • 如何在golang中实现WebSocket的双向通信
    如何在 Golang 中实现 WebSocket 的双向通信WebSockets 是一种在客户端和服务器之间建立持久化连接的通信协议,它允许双向通信,而且在实时性和效率方面表现出色。在 Golang 中,我们可以使用标准库中的 net/ht...
    99+
    2023-12-18
    Golang websocket 双向通信
  • 如何使用PHP和WebSocket实现实时通信
    随着互联网技术的不断发展,实时通信已经成为了日常生活中不可缺少的一部分。利用WebSockets技术可以实现高效、低延迟的实时通信,而PHP作为互联网领域使用最广泛的开发语言之一,也提供了相应的WebSocket支持。本文将为大家介绍如何使...
    99+
    2023-12-17
    PHP websocket 实时通信
  • 如何通过Edge浏览器中的注册表更改主页
    要通过Edge浏览器中的注册表更改主页,可以按照以下步骤操作:1. 打开注册表编辑器:按下Win + R键,输入“regedit”并...
    99+
    2023-09-26
    Edge
  • nodejs如何结合socket.io实现websocket通信功能
    这篇文章主要介绍nodejs如何结合socket.io实现websocket通信功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:因为项目中有需要实时获取后台数据的场景,之...
    99+
    2024-04-02
  • Python如何通过队列实现进程间通信
    本篇内容主要讲解“Python如何通过队列实现进程间通信”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python如何通过队列实现进程间通信”吧!一、前言在多进程中,每个进程之间是什么关系呢?其...
    99+
    2023-07-02
  • 【AI选股】如何通过python调用通达信-小达实现AI选股(量化又多了一个选股工具,原文Chrome浏览器请改为Edge浏览器)
    文章目录 前言一、通达信-小达是什么?二、使用步骤1. 引入browser_cookie3库2. 通达信-小达 AI选股源代码 总结 前言 ChatGPT火遍网络,那么有没有可以不用...
    99+
    2023-09-16
    人工智能 python 开发语言 量化
  • 如何实现Flex与浏览器交互
    本篇文章为大家展示了如何实现Flex与浏览器交互,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。总结Flex与浏览器交互在用Flex做Web应用时为了扩展应用程序功能,势必会更多的同浏览器进行交互,这...
    99+
    2023-06-17
  • JavaScript如何通过userAgent判断几个常用浏览器详解
    前言 通常在做h5页面的时候需要在微信、QQ、微博等生态内做一些引流的工作,但引流时受限于这些平台。比如上次的文章《h5唤醒app实现以及注意点》就是妥协的一个办法,那么常用的这几个...
    99+
    2024-04-02
  • Vue如何通过浏览器控制台查看全局data值
    目录前言(1)没有或找不到具体的Vue对象(2)Vue在外层定义了实例来包裹整个对象补充:vue在控制台展开有值代码却获取不到总结前言 Vue中借助data实现了数据的存储和中转,方...
    99+
    2023-05-15
    vue控制台如何查看数据 vue控制台 vue查看全局data值
  • ajax如何实现服务器与浏览器长连接的功能
    小编给大家分享一下ajax如何实现服务器与浏览器长连接的功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下<script type=&qu...
    99+
    2023-06-08
  • 如何通过PHP和WebSocket实现实时在线游戏
    在网络时代,在线游戏已成为一种越来越受欢迎的娱乐方式。许多游戏都需要实时互动,这意味着与服务器建立连接、实时传输数据,以及点对点的通信,因此使用PHP和WebSocket将游戏数据实时传输到客户端是一种非常优秀的解决方案。接下来,我们将通过...
    99+
    2023-12-17
    实时 在线游戏 PHP+WebSocket
  • vue实现浏览器桌面通知的示例代码
    目录方案一: H5 JavaScript Web Notification API方案二: push.js 工具 (基于notification)一、引入二、主要代码方案三: iNo...
    99+
    2023-01-08
    vue 浏览器桌面通知 vue 桌面通知
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作