0

我们正在处理 HTML5 游戏,我们需要知道游戏何时完全完成下载其所有资产。在 HTML5 的情况下,这与页面完成加载时不同。页面加载完成后,将下载游戏的资产。

我们在嵌入了Crosswalk webview 的本机应用程序中运行这些游戏。Crosswalk 项目基于 Chromium 项目,因此适用于 Chromium 的方法也适用于 Crosswalk。我如何知道浏览器何时完全停止发出网络请求并且基本上停止了与互联网的所有通信?

4

1 回答 1

0

Google Chrome 有一个很棒的插件,叫做 Live Http Headers。它也可用于 Firefox。

您可以在此处获取 Google Chrome 的插件。

它将捕获您的浏览器发出的每个请求并向您显示标头和状态代码: 在此处输入图像描述

如果您在 Linux 上,您还可以使用 nethogs 监控应用程序的网络使用情况,但不如 Live Http Headers 详细。

apt-get update
apt-get install nethogs
nethogs eth0

您还可以监控端口 80 上的流量:

tshark -i eth0 -f "port 80"

或者,您可以使用 Wireshark 而不是命令行版本,您可以在这里获得它适用于 Windows、Mac 和 Linux。

这是 Wireshark 中的示例过滤器: 在此处输入图像描述

您在评论中要求的更永久的解决方案是将设备直接与运行应用程序的设备对齐并使用 tcpdump:

sudo tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

这将显示获取、响应和有效负载,并且应该是用于调试的大量信息。添加-i选项以指定接口。一台在两个网络接口卡之间共享其网络连接的计算机将非常适用。

希望这可以帮助。

--lillypad

于 2015-08-19T18:23:41.427 回答