我在多台计算机上运行 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/