错误显示:Firefox 无法建立到 ws://localhost/Test/socket 服务器的连接。
用的IDEA。tomcat9,jdk1.8。
浏览器前端界面显示没有问题。问题在下面这一句。
var socket = new WebSocket("ws://${pageContext.request.getServerName()}:${pageContext.request.getServerPort()}${pageContext.request.contextPath}/websocket");
后端,Service.java
@ServerEndpoint("/websocket")
public class Service {
public void OnOpen(Session session){
room.addElement(session);
JSONObject obj = new JSONObject();
obj.put("nickname","机器人");
obj.put("date",df.format(new Date()));
obj.put("isSelf", false);
obj.put("content","你好");
session.getAsyncRemote().sendText(obj.toString());
LOGGER.info("Service start...");
}
......
}
前端界面接收不到返回的数据。之前有一次火狐没有报错,但是也接受不到数据。
网上找的,希望能帮到你
1.打开firefox,输入 about:config,进入配置页
2.搜索websocket配置项
3.配置如下图所示
4.修改配置后,需要重新启动Firefox
session.getAsyncRemote().sendText(obj.toString()); 这个代码的原因吧
建议你从以下去排查
1.后台发送数据逻辑
2.前台接收数据逻辑
3.tomcat和jdk版本是否对websocket有影响
4.浏览器版本
确定websocket启动了吗? onOpen方法没加 @onOpen 注解吧可能 ; 另外前端可以通过 js , if( 'webSocket' in window ) 来判断该浏览器是否支持
webSocket ;