问题标签 [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 回答
155 浏览

java - 退出while循环

我想知道如何在另一个类中正确退出 while 循环。

我的“从属”应用程序通过我的“主应用程序”与 WebSocket 连接。这个“从属应用程序”正在检查目录中是否有新文件。对于未来,它将分析这些新文件。

在我的从属应用程序中,我有 Callback 告诉我它是否已启动/暂停/停止...

我想要的是在我的“主应用程序”启动时启动我的循环方法(通过我的回调启动?),在我的主应用程序停止时停止我的循环......并且......

我的循环类:

我的主要课程:

0 投票
5 回答
13428 浏览

java - 如何在 Java Websocket 客户端中添加标头

我正在使用javax.websocket类连接到 Java 中的 websocket 服务器。

对于初始 HTTP 握手,我想在客户端的请求中添加额外的 HTTP 标头

这可能吗?

我知道这可以在服务器端使用ServerEndpointConfig.Configurator.modifyHandshake. 客户端有类似的解决方案吗?

0 投票
1 回答
1324 浏览

java - WebSocket 会话在一段时间未收到输入后关闭

所以我有一个从服务器读取信息的 Websocket 会话。但是,如果我完全切断它正在接收的信息,大约一分钟左右后它将停止接收新信息,并且不会做任何事情,即使服务器的输出重新打开也是如此。

我以为 WebSocketContainer 方法

会解决我的问题,所以我将其设置为

我认为这意味着它将继续运行长达 1 天的不活动状态。

然而,情况并非如此,它会在不活动一分钟后停止。下面是我正在使用的代码,也许有人可以让我知道我做错了什么:

我对 websockets 还很陌生,所以我可能完全误解了一些东西,但我希望有人能够指出我正确的方向。提前致谢!

0 投票
1 回答
684 浏览

android - 当我的 wifi 在 Android 手机中连接时打开一些链接

当 wifi 在 Andriod 手机中连接时,它应该自动打开 playstore 链接。我们需要在浏览器中自动打开应用程序商店。即我们有 4 个 wifi 网络,itnet,poll,hotspot。我们需要连接后当 wifi 连接网络时重定向到下面链接 在这里

0 投票
1 回答
1087 浏览

java - java websocket上线后如何发送离线用户的消息?

我正在尝试使用 webcocket 编写聊天,对于离线用户,我使用了 java Queue,如果用户离线,我将消息保存在队列中,当用户上线时,我检查队列是否为空,如果不是,使用循环我删除来自队列的每条消息。问题是即使所有消息都在队列中,它只是向用户发送最后一条消息,这是我的 onOpen 方法:

有谁知道问题出在哪里?

0 投票
0 回答
411 浏览

java - TooTallNate 的 Websockets 库 WSS 问题

使用 TooTallNate 的 Websockets 库来实现 websocket 服务器,效果很好。现在我需要安全地实现 Websockets。我在 示例中创建了密钥库并实现了 WSS 服务器。像这样创建密钥库:

keytool -genkey -validity 3650 -keystore "keystore.jks" -storepass "storepassword" -keypass "keypassword" -alias "default" -dname "CN=127.0.0.1, OU=MyOrgUnit, O=MyOrg, L=MyCity, S=MyRegion, C=MyCountry"

(也尝试使用-keyalg RSA参数创建密钥库)

现在,当我尝试将服务器与我的 JS 客户端连接时,成功的连接尝试仅占所有尝试的 10%。在其余 90% 的情况下,Chrome 控制台会TIMEOUT显示 WSS 连接。尝试使用 OpenSSL 连接服务器,WSS 服务器在服务器启动后仅提供一次证书。

-Djavax.net.debug=all从带有VM 参数的控制台:

在我看来,这是我这边的一些愚蠢的错误配置,但我不知道它可能在哪里。你能给我一个建议如何解决它吗?

0 投票
2 回答
15051 浏览

java - 使用 websocket 进行多线程

这更像是一个设计问题。我有以下实现

多个客户端连接 -----> 服务器 ------> 对应的数据库连接

客户端/服务器通信是使用 Web 套接字完成的。它目前是一个单线程应用程序。显然,这种设计无法扩展,因为服务器上的负载太高并且响应客户端的时间太长。后端操作涉及处理大量数据。

我的问题:为每个 Web 套接字连接创建一个新线程是个好主意吗?这意味着 500 个客户端有 500 个线程(无论是多线程还是单线程,Web 套接字的数量都是相同的)。这将减轻服务器上的负载,从而使生活变得更加轻松。

或者

是否有更好的逻辑来实现可扩展性?其中之一可能是根据作业的优点创建线程,并由主线程处理其余部分。这似乎在未来再次回到同样的问题。

在这里的任何帮助将不胜感激。

0 投票
2 回答
2133 浏览

java - WebSocket EndPoints 注解中编码器列表或解码器列表的用例是什么?

我正在学习 tyrus WebSocket 实现。但我不明白为什么以及何时在 websocket 端点中需要一个以上的编码器或解码器。例如:

解码器和编码器列表中只有一个解码器和编码器。由于这些是解码器或编码器阵列,因此我可以一次使用多种类型的编码器或解码器。但是在随后提到的api描述中,

websocket 运行时将使用列表中能够解码消息的第一个解码器,而忽略剩余的解码器。

如果它总是使用列表的第一个元素,那么 WebSockets API 中多个编码器或解码器的用例是什么?

编辑后

服务器发送给客户端:

客户端发送到服务器:

客户端使用 MessageEncoder 类发送消息,而服务器有两个编码器和解码器,包括 TextStreamMessageEncoder 或解码器和 MessageEncoder 或解码器。那么当客户端向服务器发送消息时将使用哪个解码器?

0 投票
1 回答
2032 浏览

android - Slack 实时消息传递 websocket

试图在应用程序中实现这一点。Slack RTM 调用 rtm.start 后,我​​得到 JSON 响应并提取 wss url。之后,按照文档我需要打开 websocket。尝试了两个库

首先给出 TimeoutException,其次 - 使用 i = -1, b = true 进入 onClose 方法(不调用 onError 或 onOpen,请参见下面的代码)。

使用 Java-WebSocket 我已经尝试过这段代码(来自 github 上的示例的标准):

正如我上面所说 - 只有 onClose 被调用。

使用 AndroidAsync 也尝试了示例中的标准代码:

我以前从未在 android 上使用过 websockets,并且无法理解我做错了什么。将感谢您的帮助。

JSON 中的 URL 的类型为

0 投票
2 回答
303 浏览

java - 将码头与 Repast simphony 一起使用时出错

我想将 java websocket 与 Repast simphony 一起使用,但它不起作用,我收到以下错误:

有人可以解释我如何解决这个错误吗?谢谢

我测试了从互联网上获取的代码,如果我不使用 repast simphony 运行它,它就可以工作

我的服务器