websocket - Chrome WebView 中缺少帧选项卡

标签 websocket google-chrome-devtools

我在多台计算机上运行 Chrome 74.0.x,但在其中任何一台计算机的 WebView 中都找不到“框架”选项卡。我知道“框架”选项卡中的数据已汇总的问题,但我根本没有“框架”选项卡。

我可以看到“标题”、“消息”和“计时”选项卡,这非常好且有效,但我正在尝试查看 websocket Ping(我读过的内容将在“框架”内)。

我在这里缺少什么?

最佳答案

回答我自己的问题。 TL/DR:我假设 Chrome 中不存在我正在寻找的内容(至少不再存在)。而且,我现在将以 ping/pong 的形式发送一条“正常”消息。

出现此问题是因为如果 Websocket 处于非事件状态,Heroku(我的主机)将在 50 秒左右超时。乒乓球似乎就是为此而设计的。

但是,尚不清楚 websocket ping/pong 的定义是否明确,更不用说得到工具支持了。请参阅此讨论:Sending websocket ping/pong frame from browser

有一些引用资料解释了应如何实现 ping/pong 控制代码。请参阅名副其实的“Pings and Pongs:WebSockets 的心跳”,地址:https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#Pings_and_Pongs_The_Heartbeat_of_WebSockets 。并且,RFC6455 ( https://www.rfc-editor.org/rfc/rfc6455#section-5.5.2 ) 指出“Ping 帧可以用作保活或验证远程端点是否仍然响应的方法”。

请注意,我的 ping 工作正常,例如,我将它们发送到客户端 (Chrome),Heroku 没有超时,并且客户端保持事件状态。但是,我在浏览器端看不到任何事件。它是自动的,这让我很烦恼。

似乎确实存在的向下钻取功能 (chrome://net-internals) 已被删除。显然作为安慰奖,现在有一个内置工具(chrome://net-export)允许人们捕获网络事件,然后有一个支持站点(https://netlog-viewer.appspot.com/#import)允许分析这些日志(痛苦) )。它们显示了 Chrome 识别的许多实体的流量,包括 websocket 消息,但令人惊讶的是没有显示我发送的任何 ping。

在短期内,我将放弃使用 ping/pong 控制代码的想法,而仅使用标准消息作为模拟保持事件的形式,因为它们可以工作,而且我可以在 Chrome 中看到它们。

任何有助于我更好地理解这一点的评论将不胜感激。

关于websocket - Chrome WebView 中缺少帧选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56379895/

相关文章:

angular - 每次我在 .ts 文件中添加断点时,Chrome 都会烦人地在 main.bundle.ts 中打开相应的行

node.js - Meteor:WebSocket 握手期间出错:意外的响应代码:400

dom - 什么是 DOM GC 事件?

javascript - Python 编码 Web 套接字帧

tcp - 如何为多个消费者重用服务器端 TCP 端点?

javascript - document.location.reload(true) 在 chrome 中取消

google-chrome - Chrome 开发工具控制台 : see toString representation of an object?

angularjs - 如何使用 AngularJS 访问浏览器控制台中的 $scope 变量?

javascript - MQTT 实时 Feed 到 Node JS 中的 html 页面

javascript - 如何在 Node.js 中从币安网络套接字 API 流式传输交易?