问题标签 [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 投票
0 回答
859 浏览

javascript - Android Web 套接字服务器与远程 Web 套接字客户端之间的通信

我正在使用 Android 设备中的 Web 套接字客户端,能够与远程 Web 套接字服务器通信。但现在我想在 android 设备上运行 Web 套接字服务器,我需要从远程 Web 套接字客户端(比如在系统浏览器上)连接它。我尝试在远程客户端上提供我的 android 设备的 IP 地址。但它显示以下错误。“[错误] WebSocket 网络错误:操作无法完成。连接被拒绝”

0 投票
1 回答
2487 浏览

websocket - 客户端可以创建多少个 WebSocket 连接

我已经开始学习网络套接字了。在当今时代,必须学习技术。但我很想了解更多关于它的信息。我的基本问题是在客户端可以创建多少个 WebSocket 连接。

我的典型应用程序是基于 html UI 的服务器,我有基于休息的服务。我需要跟踪是否

  1. 会话超时是否已发生
  2. 与服务器的连接是否丢失?一种用于检查连接的池程序是否存在。

所以我在客户端上创建了 2 个 websocket 对象,并为它们创建了不同的 url。

我希望我已经正确实施了吗?

0 投票
2 回答
6182 浏览

java - 收到“未收到握手响应”。关闭 websocket 后

我正在使用 tyrus websocket 客户端(1.11)连接到 websocket。

我正在运行本地wscat服务器 ( wscat --listen) 来测试我的连接。

我的客户端所做的是它连接到 websocket,发送一个文本字符串,后跟一个二进制负载(0xb5,0xb2,0xb1,0xb0,0xb1,0xb2,0xc6),然后是另一个字符串,然后断开连接。

这是服务器看到的(这正是我所期望的):

注意:进行连接的实体、Monkey类扩展Thread和异步运行,因此某些日志行可能是乱序的。

不过,客户端的情况并不那么乐观。虽然日志同意建立了连接,发送了三个块,并且连接已关闭,但它也给了我一个堆栈跟踪,表明连接失败,因为没有收到握手响应(请参阅此处的完整日志):

为什么会有明显的第二次连接尝试?这里发生了什么?

我输入了几个时间戳来看看实际发生了什么:

我实际得到的结果表明我无法连接(但我确实发送了这些消息,不是吗?)

当我与 ws 进行交易时,连接调用似乎被阻止了。它是否假设存在错误,因为连接在onOpen回调结束时关闭?

0 投票
4 回答
11127 浏览

java - websocket消息会丢失吗?

我目前正在开发一个 Java WebSocket 客户端应用程序,我必须确保客户端接收到来自服务器的每条消息。由于连接中断,我是否有可能丢失一些消息(一旦它们从服务器发送)?WebSocket 基于 TCP,所以这不应该发生对吗?

0 投票
1 回答
922 浏览

javascript - Android WebView 和 WebSockets / Paho.MQTT

所有类似的问题都已经是几年前的事了,所以我可能会再问一次:

我制作了一个包含 Paho.MQTT javascript 客户端 (mqttws31.js) 的网站。它适用于所有浏览器(也适用于 Android 上的 Chrome)。

这是我的代码:

这部分不适用于WebView.

一般不支持 WebSockets 还是 Paho.MQTT 问题?有没有快速简便的解决方法? 我网站的某些部分正在使用 SignalR - 它在 WebView 中运行良好......

谢谢!

0 投票
0 回答
875 浏览

java - 如何连接到在我的 android 模拟器上运行的 websocket 服务器?

我使用 Tootallnate java-websocket 在 android 上创建了一个 websocket 服务器。我将它托管在 10.0.2.2 和端口号 15 中。如何连接也在同一个模拟器中运行的客户端?当我使用下面的代码时,即使服务器没有运行它也会连接!这是为什么?我究竟做错了什么?我已经测试了我的服务器。打印实例和地址等等。服务器端一切正常。请指教。

}

以下是我创建客户的方式。

0 投票
1 回答
364 浏览

embedded-jetty - 停止 WebSocket 发送数据

我正在使用 Jetty 的 WebSocket API 将数据流式传输到客户端。一旦客户端连接到服务端,服务端会定期向客户端发送json数据。

我想要做的是,一旦客户端决定终止连接,服务器将停止发送 json 数据(它确实停止了,但看起来并不优雅,在服务器端抛出 EOFException、IOException 或损坏的管道或其他东西)。

我已经尝试过使用一个全局布尔变量,该变量打开false并将onClose其放置在while循环中,但这似乎不起作用。

我应该在onConnect方法的 while 循环中添加什么来终止数据的发送而不抛出异常?

0 投票
1 回答
1501 浏览

endpoint - 如何使用 java websockets (jsr 356) 将消息从一个端点重定向到另一个端点

我正在做一个个人项目来了解java websockets。基本上,我的 HTML 客户端通过JSR 356 websockets向我的服务器发送消息。端点@ServerEndpoint("/wsServer")接收来自客户端的所有消息,我希望在另一个门户/端点@ServerEndpoint("/wsDashboard")中实时查看这些消息作为仪表板。

我会很感激任何想法、文档或代码片段,因为我真的不知道,我见过像 apache kafka 这样的解决方案,但我不确定这是否是我需要的。

谢谢

0 投票
1 回答
54 浏览

android - 正确修改/覆盖库类的方法

我正在使用 ararog 的 WebSocket Rails-Android 库。

我根据从服务器端收到的数据循环订阅了几个频道。我对所有通道使用相同的 WebSocketRailsDataCallback,唯一不同的是通道名称。我的问题是回调的onDataAvailable(Object data)数据只包含接收到的 JSON,它不包含通道名称,并且我无法找到一种方法来知道在哪个通道上收到了响应。

我尝试创建自定义接口和类,分别使用onDataAvailable(Object data, String channelName)签名和覆盖dispatch方法扩展 WebSocketRailsDataCallback 和 WebSocketRailsChannel,但类的变量是私有的,这意味着我不能有如下构造函数,因此无法将 WebSocketRailsChannel 转换为自定义班级:

我可以使用 in 方法获取字段getDeclaredFields(),但它不能帮助我进行强制转换(我需要它,因为dispatcher.subscribe方法返回基类)。我想到的下一个解决方案是为所有相关类(调度程序、通道、dataCallback 等)创建完整的自定义类,而不是继承它,但这是一个粗略的解决方案。另一个是联系和图书馆作者。任何更好和更简单的想法将不胜感激。

0 投票
2 回答
2975 浏览

jakarta-ee - 有哪些可用的 Java EE Websockets 实现?

对于 JSR 356 - WebSocket 的 Java API,我知道参考实现是 Tyrus。

还有其他人吗?

如果不是,那么我猜 Tyrus 是所有应用服务器(Glassfish、JBossAS/Wildfly 等)中的实现