首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用websockets的Web应用程序“无法建立连接。接收端不存在“。

使用websockets的Web应用程序“无法建立连接。接收端不存在“。
EN

Stack Overflow用户
提问于 2021-07-11 04:25:55
回答 1查看 302关注 0票数 1

Java服务器、javascript客户端、没有特殊库、纯文本HTTP/1.1和websocket连接。使用JDK 16编写的服务器端(在Eclipse中)和Tomcat版本10.0.2中的websocket。(其他JDK和websocket的许多排列也被尝试过。)

两个网络应用程序。Tomcat 10.0.2在PC上,10.0.7在服务器上。这两个应用程序都运行在Windows 10上,部署到Ubuntu20.04服务器上。这两个程序都显示初始HTTP数据。一个程序获得一个websocket连接并工作,另一个程序无法获得websocket连接。两者都使用相同的代码来计算websocket连接的目标URL:

代码语言:javascript
运行
复制
window.onload = function() {
    var target = "ws://" + location.host + "/[context]/[endpoint]";
    console.log("target: " + target);
    try {
        if ('WebSocket' in window) {
            socket = new WebSocket(target);
        } else if ('MozWebSocket' in window) {
            socket = new MozWebSocket(target);
        } else {
            alert('WebSocket is not supported by this browser.');
            return;
        }
    } catch (e) {
        console.log("websocket connection exception: " + e.description);
    }
... 

只有上下文和端点不同的地方。回想一下,这些URL在PC上工作。我相信他们是“结构良好”的/valid。

失败的web应用程序的结果:

火狐:

未明确的例外:无法建立连接。接收端不存在。

获取ws://35.xxx.xx.xx:8080/Memory/MemoryEndpointHTTP/1.1 40470ms

Firefox无法在ws://35.xx.xx.xx:8080/Memory/MemoryEndpoint上建立到服务器的连接。铬:

错误处理响应: TypeError:无法读取未定义的属性“加密”

在Object.13 (chrome-extension://bkdgflcldnnnapblkhphbgpggdiikppg/public/js/content-scripts/autofill.js:1427:33)

。。。

到'ws://xxx.xx.xx.xx:8080/Memory/MemoryEndpoint‘的game.js:31 WebSocket连接失败:

Chrome继续使用许多关于“加密”未定义问题的行。我不知道这是关于什么,但这可能是非常相关的。上面的最后一行意味着在下一行中可能会给出失败的原因,但它是空的。

两个浏览器都不记录以"websocket连接异常:“开头的预期异常文本。

除了localhost__access_log中的一些奇怪条目之外,Tomcat日志文件都是干净的,例如:209.90.225.218 - - [11/Jul/2021:00:43:33 +0000] "HEAD /robots.txt HTTP/1.0" 404 -和其他提到/invoker/readonly, /login, /jenkins/login, /nifi/的条目。这两个程序确实从Tomcat服务器返回结果这一事实告诉我,端口等的权限都足够了。我还研究了netstat结果和类似的内容,查看了防火墙设置,阅读了许多文章和请求帮助。(可能与此无关,因为Tomcat确实返回预期的HTTP/1.1数据。)不走运。

我需要这个程序起作用。在07-16-2021年之前,我会为解决这个问题支付现金奖励,尽管我不知道如何谨慎协商。:-(

EN

回答 1

Stack Overflow用户

发布于 2021-08-06 17:55:05

问题解决了,虽然我不明白原因。回想一下: web应用程序在部署到Tomcat版本10.0.2的开发PC上运行良好,用于各种JDK、websocket库(包括在VM上安装的Tomcat 10.0.7中的一个库)。这个应用程序在Ubuntu上失败了。一个朋友在VM中安装了Tomcat 10.0.8。普雷斯托!websockets工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68333210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档