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

如何在okhttp websockets中查找发送的ping/keepalive

空翼
2023-03-14

我正在使用okhttp库在我的服务器之间创建一个安全的websocket连接。但我的websocket连接在3分钟后就会关闭。所以我添加了下面的代码来确保乒乓球

okHttpClient = new OkHttpClient.Builder()
                    .pingInterval(20, TimeUnit.SECONDS)
                    .build();
            Request request = new Request.Builder().url(freeSwitchHost).build();
            vertoWebSocket = okHttpClient.newWebSocket(request, pstnWebSocketListener);
            okHttpClient.dispatcher().executorService().shutdown();

这是我用来为我的服务器发送ping的代码。但不幸的是,我无法在pcap中捕获应用程序发送的ping数据。有没有办法捕获okhttp websocket发送的ping

当ping似乎不起作用时,我尝试在下面的代码中发送保持活动。但我无法在pcap中捕获它,因为我使用安全的websocket连接。

okHttpClient = new OkHttpClient.Builder()
                        .connectionPool(new ConnectionPool(100, 30, TimeUnit.SECONDS))
                        .build();

这是我用来发送keep alive的代码。但还是一样的反应。我不确定我的websocket连接是发送keep alive还是乒乓球。有没有办法识别ping和keep alive是由我的websocket发送的。请帮忙

共有1个答案

钱跃
2023-03-14

遗憾的是,我没有使用这个库,所以我假设代码中没有错误。

我建议您在Wireshark中使用两个非常有用的工具:

  • 数据包长度(统计)

记录一个好的Pcap,其中通道空闲,这样你就可以清楚地观察到keepalive数据包。如果这不是一个选项,您总是可以使用过滤器只显示小数据包帧。伦恩

对于数据包长度,我会寻找小数据包(大约80-159),因为保持活力的数据包没有那么大,并且还要查看“速率”字段,因为它可能会帮助您查看是否有模式

使用IO图,我会将间隔设置为小于100ms的值,并查找间隔3秒的峰值(这是由keepalive数据包引起的)。

 类似资料:
  • 我想在微软赎回代码页面中自动测试 https://account.microsoft.com/billing/redeem 我试图通过以下代码输入值: 检查显示的元素: 我尝试了很多方法没有工作,花了4个小时不能弄清楚请纠正我的代码环境: > EclipseIDE-Java-Selenium最新版本 Mac OS-Chrome 正确的代码来查找元素。

  • 问题内容: 通过URLConnection发送“完整” cookie的正确方法是什么? 我一直在使用: myCookie值是testCookie = d1lEZk9rSHd3WnpBd2JkWGRhN1RYdz09OkEwQ21pSFJVZzBpVDhhUENaK3ZPV2c9PQ 有没有一种发送路径,域和过期的方法?您是否需要以某种方式对值进行编码? 问题答案: 好吧,如果您只设置一个cooki

  • 有时候,由于各种原因会导致接口测试失败,此时我们需要查看测试时实际发送了什么数据。 在控制台中查看 为了尽可能方便地查看发送数据,我们已经将各个阶段的日志打印在浏览器的控制台中了,类似下面的效果: 查看插件背景页的网络请求面板 接口测试需要安装一个浏览器插件,XHR Proxy Tool,这是一个跨域请求的插件,本地 localhost 地址也是可以直接请求到的,实际的网络请求是这个插件发出的。可

  • 我正在学习Derek Banas的《2021年Java EE教程》,遇到了一个问题。启动Tomcat9服务器会给出红色的长控制台输出,但我找不到列出的任何具体错误。最后一行是info:[555]毫秒内的服务器启动。Tomcat web-xml文件中确实有一个错误,我不知道如何修复它。 “在这行找到了多个注释:-'javaee_7.xsd'中存在'1'错误。-schema_reference.4:未

  • 本文向大家介绍如何在C#中查找StringBuilder的长度?,包括了如何在C#中查找StringBuilder的长度?的使用技巧和注意事项,需要的朋友参考一下 要在C#中查找StringBuilder的长度,代码如下- 示例 输出结果 这将产生以下输出- 示例 让我们看另一个例子- 输出结果 这将产生以下输出-

  • 本文向大家介绍如何在C#中查找StringBuilder的容量,包括了如何在C#中查找StringBuilder的容量的使用技巧和注意事项,需要的朋友参考一下 要在C#中查找StringBuilder的容量,代码如下- 示例 输出结果 这将产生以下输出- 示例 让我们看另一个例子- 输出结果 这将产生以下输出-