问题标签 [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.
java - 服务器没有收到套接字客户端发送的消息
我有套接字服务器(java 桌面应用程序),它正在等待来自 java webapp(套接字客户端)的连接。通信看起来不错,我在客户端看到来自服务器的消息,但是当我发送消息时,我在服务器端没有收到任何消息。可能是什么问题?当我用 telnet 检查服务器时,一切正常。下面是我的代码:
服务器:
客户:
感谢帮助!
java - 带有 Java ECONNREFUSED 的 Heroku Websockets(连接被拒绝)
我正在使用 Java 编写一个小型游戏服务器。
我使用TooTallNate-Java-Websockets库来创建我的 websocket 服务器。当我在 localhost 上运行我的服务器时,一切正常,我可以从任何地方连接到它。但是,当我将我的应用程序提交到 Heroku 时,每次我尝试建立套接字连接时,都会收到错误ECONNREFUSED (Connection denied)。
值得一提的是,当我使用应该模拟 heroku 环境的工头运行我的应用程序时,一切正常。
作为我的 websocket 服务器的端口,我尝试使用8080和许多其他在5000到8000之间的端口。
我只能猜测 heroku 上发生了什么,因为日志只包含 http 请求的基本信息。
请帮忙,我快要放弃了:(
编辑
这是我的 Proc 文件中的内容:
更新 创建了一个简单的抽象应用程序来展示问题:(当然是在工头中测试的,它在本地环境中工作)
- 我的 html/js 测试器:Testerpage
- 我的主要 java Jetty 服务器:Java Main
- 控制台错误消息:
WebSocket connection to 'wss://test-websocket-yan.herokuapp.com:39773/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
java - 如何将 websocket 与 Restlet 框架一起使用?
我们有一个用 Restlet 框架编写的 web 服务器,现在我们想实现 websocket 来替换导致一些性能问题的长轮询设计。查看了 RestLet 的论坛和文档,看起来 websocket 还不支持,甚至没有按计划进行。而且我们不想用其他框架替换 Restlet,因为它会发生很大的变化,现在我们提出了一些设计方案,不确定哪个最好:
- 启动另一个 Jetty 服务器,并使用 Jetty 的 websocket 库来处理 websocket 连接;
- Prons:无需基于Restlet自行开发websocket lib;
- 缺点:需要有 2 个服务器监听不同的端口。
- 基于Restlet开发我们自己的websocket lib:
- Prons:无需启动第二个服务器;
- 缺点:开发工作量大。
我们仍在调查中,感谢任何分享和宝贵意见,谢谢!!
java - Tyrus WebSocket 中的 Oauth
我正在尝试使用 Tyrus Web Socket 使用 Oauth。
我尝试使用:
但这不起作用。我收到握手错误。
javascript - 代理后面的客户端无法连接到 weblogic 服务器上运行的 websocket 服务器端点。如何解决这个问题?
我有用 JAVA EE 7 编写的 web 套接字服务器和用 HTML 和 javascript 编写的客户端。我在 weblogic 服务器上运行。我本地计算机上的所有客户端都能够连接到服务器并发送消息,但同一网络中的远程客户端无法连接到服务器。我在代理服务器后面。
java - Java Spring 音频聊天
如何使用 Java 和 Spring 开发允许与用户进行音频聊天的 Web 应用程序?我在 Java Web 7 ([ https://tyrus.java.net/][Project Tyrus]) 中使用了 WebSocket,它非常适用于文本按摩。
但是对于音频聊天,我无法弄清楚。我尝试使用 WebRTC 来检测麦克风,这是客户端代码:
服务器端:
我有一个例外,我认为这是关于解码和编码,但我不知道如何处理它:
如何使用 Java(Tyrus 项目、websocket、Spring)进行音频聊天提前谢谢
java - Jetty WebSocketException:RemoteEndpoint 不可用
我的应用程序中有 2 个线程 - 服务器(主)和服务,它们通知用户坐标变化。所以当页面重新加载时我有错误:
和线程关闭。
如何解决?
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 通过身份验证,我可以重新启动查询而无需重新输入它们。
我想要什么:从用户的角度来看,这很糟糕,因为需要两次凭据:
- 首先用于 RESTful 查询
- 第二个用于 WebSocket 查询
假设第一个身份验证成功,我如何绕过第二个身份验证?有没有办法检测客户端已通过身份验证而不要求提供凭据?
我不想要的:我不想使用Stomp over websocket和 SockJs(我不需要支持旧的网络浏览器)。
selenium-webdriver - 在 webdriver 中检查 websocket 响应
有什么方法可以调用 api(java 语言)来检查网页的 websocket 响应,以便在该网页的 webdriver 测试中进行一些验证。抱歉,这个问题很笼统,但任何指示都会有所帮助。
javascript - 在 Java 上编写 WebSocket 服务器。Windows 7 64 位上的问题
我遇到了 WebSocket 协议的问题。
当我在开发(NetBeans)时执行代码并且工作正常时,即使我执行jar文件仍然有效,但是......当我在Windows 7 64位平台上执行jar时...... WebSocket自行关闭。
我在服务器和客户端的本地机器上工作,即使我停用了 Windows 防火墙并且没有任何变化。
即使我使用 3 种浏览器(Firefox、Chrome 和 Opera)进行测试,我也资助了相同的结果。
有任何想法吗?
服务器监听线程代码
websocket协议代码: