问题标签 [java-websocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1234 浏览

java - 服务器没有收到套接字客户端发送的消息

我有套接字服务器(java 桌面应用程序),它正在等待来自 java webapp(套接字客户端)的连接。通信看起来不错,我在客户端看到来自服务器的消息,但是当我发送消息时,我在服务器端没有收到任何消息。可能是什么问题?当我用 telnet 检查服务器时,一切正常。下面是我的代码:

服务器:

客户:

感谢帮助!

0 投票
3 回答
1470 浏览

java - 带有 Java ECONNREFUSED 的 Heroku Websockets(连接被拒绝)

我正在使用 Java 编写一个小型游戏服务器。

我使用TooTallNate-Java-Websockets库来创建我的 websocket 服务器。当我在 localhost 上运行我的服务器时,一切正常,我可以从任何地方连接到它。但是,当我将我的应用程序提交到 Heroku 时,每次我尝试建立套接字连接时,都会收到错误ECONNREFUSED (Connection denied)

值得一提的是,当我使用应该模拟 heroku 环境的工头运行我的应用程序时,一切正常。

作为我的 websocket 服务器的端口,我尝试使用8080和许多其他在50008000之间的端口。

我只能猜测 heroku 上发生了什么,因为日志只包含 http 请求的基本信息。

请帮忙,我快要放弃了:(

编辑

这是我的 Proc 文件中的内容:

更新 创建了一个简单的抽象应用程序来展示问题:(当然是在工头中测试的,它在本地环境中工作)

  1. 我的 html/js 测试器:Testerpage
  2. 我的主要 java Jetty 服务器:Java Main
  3. 控制台错误消息: WebSocket connection to 'wss://test-websocket-yan.herokuapp.com:39773/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
0 投票
1 回答
1023 浏览

java - 如何将 websocket 与 Restlet 框架一起使用?

我们有一个用 Restlet 框架编写的 web 服务器,现在我们想实现 websocket 来替换导致一些性能问题的长轮询设计。查看了 RestLet 的论坛和文档,看起来 websocket 还不支持,甚至没有按计划进行。而且我们不想用其他框架替换 Restlet,因为它会发生很大的变化,现在我们提出了一些设计方案,不确定哪个最好:

  • 启动另一个 Jetty 服务器,并使用 Jetty 的 websocket 库来处理 websocket 连接;
    • Prons:无需基于Restlet自行开发websocket lib;
    • 缺点:需要有 2 个服务器监听不同的端口。
  • 基于Restlet开发我们自己的websocket lib:
    • Prons:无需启动第二个服务器;
    • 缺点:开发工作量大。

我们仍在调查中,感谢任何分享和宝贵意见,谢谢!!

0 投票
0 回答
144 浏览

java - Tyrus WebSocket 中的 Oauth

我正在尝试使用 Tyrus Web Socket 使用 Oauth。

我尝试使用:

但这不起作用。我收到握手错误。

0 投票
1 回答
151 浏览

javascript - 代理后面的客户端无法连接到 weblogic 服务器上运行的 websocket 服务器端点。如何解决这个问题?

我有用 JAVA EE 7 编写的 web 套接字服务器和用 HTML 和 javascript 编写的客户端。我在 weblogic 服务器上运行。我本地计算机上的所有客户端都能够连接到服务器并发送消息,但同一网络中的远程客户端无法连接到服务器。我在代理服务器后面。

0 投票
0 回答
1990 浏览

java - Java Spring 音频聊天

如何使用 Java 和 Spring 开发允许与用户进行音频聊天的 Web 应用程序?我在 Java Web 7 ([ https://tyrus.java.net/][Project Tyrus]) 中使用了 WebSocket,它非常适用于文本按摩。


但是对于音频聊天,我无法弄清楚。我尝试使用 WebRTC 来检测麦克风,这是客户端代码:

服务器端:

我有一个例外,我认为这是关于解码和编码,但我不知道如何处理它:

如何使用 Java(Tyrus 项目、websocket、Spring)进行音频聊天提前谢谢

0 投票
0 回答
902 浏览

java - Jetty WebSocketException:RemoteEndpoint 不可用

我的应用程序中有 2 个线程 - 服务器(主)和服务,它们通知用户坐标变化。所以当页面重新加载时我有错误:

和线程关闭。

如何解决?

0 投票
0 回答
780 浏览

spring-security - 如何使用 Spring Security 在现有 HTTP 环境中验证 WebSocket

我有一个非常简单的要求(我使用 Spring-Security 4.0.1),但我在网上找不到任何示例,除了此页面上的内容:http: //docs.spring.io/spring/docs/当前/spring-framework-reference/html/websocket.html#websocket-server-handler

借助 WebSocketHttpRequestHandler 将 WebSocketHandler 集成到其他 HTTP 服务环境中相对简单。

我所拥有WebSocketHandler的:完成这项工作的一个实现和一个使用基本身份验证的 HTTP 服务环境。我的WebApplicationInitializer样子是这样的:

这就是我将 websocket 端点插入现有 web 应用程序的方式。我的 WebSocket 配置类看起来(非常简化)是这样的:

StreamingWebSocketHandler实现WebSocketHandler

我还有一个使用配置的基本身份验证的RESTful Web 服务(在同一服务器中)。

工作原理:我的 RESTful Web 服务可与任何 Web 浏览器配合使用。我可以做一些经过身份验证的查询(可以在 HTTP 标头中发送凭据)。WebSocket 查询正在工作并在我第一次尝试执行某些操作时要求进行身份验证(在 FireFox 下,会出现一个要求提供凭据的弹出窗口,一旦我输入它们,客户端和服务器就能够通过 WebSocket 消息进行通信)。在我WebSocketHandler的 Spring 对象中:WebSocketSession包含有关经过身份验证的用户的信息是正确的(#getPrincipal()方法返回一个Authentication包含授予权限的权限、详细信息等...)。请注意,一旦 websocket 通过身份验证,我可以重新启动查询而无需重新输入它们。

我想要什么:从用户的角度来看,这很糟糕,因为需要两次凭据:

  1. 首先用于 RESTful 查询
  2. 第二个用于 WebSocket 查询

假设第一个身份验证成功,我如何绕过第二个身份验证?有没有办法检测客户端已通过身份验证而不要求提供凭据?

我不想要的:我不想使用Stomp over websocket和 SockJs(我不需要支持旧的网络浏览器)。

0 投票
0 回答
475 浏览

selenium-webdriver - 在 webdriver 中检查 websocket 响应

有什么方法可以调用 api(java 语言)来检查网页的 websocket 响应,以便在该网页的 webdriver 测试中进行一些验证。抱歉,这个问题很笼统,但任何指示都会有所帮助。

0 投票
1 回答
151 浏览

javascript - 在 Java 上编写 WebSocket 服务器。Windows 7 64 位上的问题

我遇到了 WebSocket 协议的问题。

当我在开发(NetBeans)时执行代码并且工作正常时,即使我执行jar文件仍然有效,但是......当我在Windows 7 64位平台上执行jar时...... WebSocket自行关闭。

我在服务器和客户端的本地机器上工作,即使我停用了 Windows 防火墙并且没有任何变化。

即使我使用 3 种浏览器(Firefox、Chrome 和 Opera)进行测试,我也资助了相同的结果。

有任何想法吗?

服务器监听线程代码

websocket协议代码: