

请问用java和tomcat开发WebSocket应用,Java中其它类如何通过特定的WebSocket类向特定...
source link: https://ask.csdn.net/questions/7523657
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

请问用java和tomcat开发WebSocket应用,Java中其它类如何通过特定的WebSocket类向特定Session的网页用户发送消息?
我现在在用java8和Tomcat9开发一个WebSocket通讯应用。假设我的服务器端java程序已经有了A、B和C三个class。现在我希望通过一个专门的WebSocket类的class来和网页的用户进行通讯。接收信息当然是没有问题的,用WebSocket类的@OnMessage()函数就可以了。但是如何让A、B和C类能够通过WebSocket类向网页的客户端发送信息呢?因为WebSocket类是Tomcat在接收到网页的信息后通过@ServerEndpoint和@OnMessage等直接调用的,在我自己的服务器端java程序中并没有实例化WebSocket类的对象。所以我在A、B和C等其它类中无法直接调用WebSocket类向网页特定Session的用户发送信息。所以我想请教各位,如何让其它类都通过WebSocket类这一个类来向网页特定Session的用户发送信息。是把Session对象传给ABC这三个类吗?还是其它什么方法?不要告诉我ABC这三个类每个都要建立一个@ServerEndpoint啊,感觉那样太Low了,而且以后也不方便扩展。
我的服务器端java程序大体如下:
1条回答 默认 最新
- 两个猕猴桃 2021-10-03 14:58
做一个WebSocketMananger单例,
客户端打开websocket连接后,保存客户端的sid和session到WebSocketMananger。
其他的类想发送消息的时候,指定sid和要发送的消息,由WebSocketMananger来发送即可。WebSocketServer.java
WebSocketManager.java
报告相同问题?
相关推荐 更多相似问题
- 回答 2 已采纳 要用心跳机制让他持续连接,检测到断开就重连,不然一段时间后可能因服务器tcp keeplive防火钱等等会断开的。
- 回答 3 已采纳 通过websocket获得数据,判断数据是否为0,为0就让他显示在em这个控件上并为其设置css 属性 display:block,否则的话就设置 css 属性 display:none,大概是这个
- 回答 1 已采纳 错误提示:Connect to dysmsapi.aliyuncs.com:80 [dysmsapi.aliyuncs.com/106.11.45.35] failed: connect timed
- 2018-03-01 07:54饼条豪侠的博客 近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功能,使服务端也能主动向客户端发送数据。 我们知道,传统的HTTP协议是无状态的,每次请求...
- 2021-01-10 11:48慕容囧囧的博客 使用html5中webSocket开发一个网页版聊天室(后台使用java)
- 2019-08-27 03:42袁泽浩的博客 script type="text/javascript" src="${ctxStatic}/websocket/sockjs-0.3.4.min.js"></script> javaScript function websocketStart(){ var websocket = null; //获取主机地址之后...
- 2016-11-04 19:46回答 1 已采纳 首先,你看下这个websocket请求响应的内容是什么呢?前段调试模式下看看network这个请求响应内容。 其次,从js错误信息来看,你的js代码有问题chat.socket这个属性没有赋值,应该
- 回答 2 已采纳 属性命名不符合命名规范,首字母大写时,部分框架底层做属性映射时映射不上,可以参考下java命名规范,避免出现这种错误;
- 回答 2 已采纳 报错信息很明显,date在查询时映射的类型转换问题,应该是这一设置的这个,上网查查
- 2019-09-05 17:25纳川121的博客 注意:websocket只有tomcat7.4.5以上才支持 可以用google插件来测试 所需要jar包 <!--websocket--> <dependency> <groupId>javax</groupId> <artifactId>javaee-api<...
- 2018-05-30 06:28怦然我的心动的博客 WebSocket的学习以及使用首先,旧版本的Tomcat 不能支持WebSocket, 至少需要 7.0.47 以上才可以;其次,创建BitCoinServer类,用注解@ServerEndpoint("/ws/bitcoinServer")把它标记为一个WebSocket ...
- 2021-09-08 10:27nableLiao的博客 公司大屏需要用ue4连接Java后端,因为公司同事之前都没有写过类似的,所以这个任务就理所当然的的给到了我这个新人上,一开始就决定使用WebSocket连接,一开始以为会很难,查看了一天的资料,发现其实挺简单的,只是...
- 回答 1 已采纳 重新编译下项目看看类路径下有没有 Log 类文件了。
- 回答 2 已采纳 错误描述是找不到类 如果本地可以运行 服务器不行看看是不是你打包的时候这个类没有打包进去 把打好的jar打开看看  一、前言 传统的HTTP协议是无状态的,每次请求(request)都要由客户端(如 浏览器)主动发起,服务端进行处理后返回response结果,而服务端很难主动向客户端...
- 没有解决我的问题, 去提问
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK