当前位置: 首页 > 知识库问答 >
问题:

WebSocket连接在一段时间后无法重新连接

田德馨
2023-03-14

我编写了一些逻辑,同时表示与exchange的近200个websocet连接。我使用第三方api,它基于org.eclipse.jetty.webSocket.api。我有一个我必须重写的方法。

try {
            URI uri = new URI(websocketBaseUrl + url);
            SslContextFactory sslContextFactory = new SslContextFactory();
            sslContextFactory.setTrustAll(true); 
            WebSocketClient client = new WebSocketClient(sslContextFactory);
            client.setMaxIdleTimeout(0);
            client.start();
            return client.connect(adapter, uri).get();
        } catch (URISyntaxException  e) {
            throw new BinanceApiException("URL Syntax error: " + e.getMessage());
        } catch (Throwable e) {
            throw new BinanceApiException("Websocket error: " + e.getMessage());
        }

我在stackoverflow上找到了这个问题,但我看不到清晰的答案。请帮忙,提前谢谢。

共有1个答案

袁亦
2023-03-14

如果您希望连接在空闲的情况下保持打开状态,您应该这样配置您的客户端:

client.setMaxIdleTimeout(Long.MAX_VALUE);

将maxIdleTimeout设置为0会产生相反的效果:连接一旦变得空闲就关闭。

 类似资料:
  • 问题内容: 我正在开发使用JPA + Hibernate访问MySQL数据库的独立服务器。 当我启动服务器时,一切正常。但是,经过一段时间(通常是第二天早上,如果我在下午开始),它将停止工作,因为与MySQL的连接显然已关闭(我在日志中看到很多s)。这可能是由于闲置造成的,服务器正在开发中,晚上没有人使用它。 我以为Hibernate,JDBC或我应用程序下面的其他某些层将管理连接,并在必要时重新

  • 我的Spring Hibernate Web应用程序在MySQL上运行,这给我带来了麻烦。 我四处寻找并尝试了不同的配置,在这个网站上阅读了相当多的帖子,但它仍然会弹出微笑的头像。 错误消息是:由:com.mysql.jdbc.exceptions.jdbc4.通信异常:从服务器成功接收到的最后一个数据包是63,313,144毫秒前。最后一个成功发送到服务器的数据包是63,313,144毫秒前。比

  • 问题内容: 我想一个简单的聊天应用程序在这里与socket.io和node.js中 每次重新启动node.js服务器时,socket.io都会自动重新连接,并以某种方式创建与服务器的另一个连接,即客户端现在两次收到相同的聊天消息。我该如何解决? 问题答案: 默认情况下,在disconnect socket.io上重新连接丢失的连接,从而重新运行事件。因此,每次重新连接时,您都会添加一个事件监听器来

  • 问题内容: 我是Spark的新生,并尝试完成Spark教程: 指向教程的链接 在本地计算机(Win10 64,Python 3,Spark 2.4.0)上安装它并设置所有环境变量(HADOOP_HOME,SPARK_HOME等)后,我试图通过WordCount.py文件运行一个简单的Spark作业: 从终端运行后: 我得到以下错误。我检查(逐行注释)它在崩溃 知道我应该检查些什么才能使其正常工作吗

  • 我有一个结构如下的表格,其中包含有关俱乐部会员的信息 我对后来重新加入的成员感兴趣。对于上述数据,在整个期间,这样做了一次,没有,而这样做了两次。 每次发生这种情况,从他们的会员资格结束到他们重新加入的时间是多少?对于上述数据,这将是: 我很乐意得到使用R(理想情况下使用dplyr)或SQL(MySQL)的答案