我正在使用TrafficStats来监控我的应用程序的数据使用情况。到目前为止它工作正常。
但我想通过 newtork 将这些数据实时发送到我的服务器(如每秒使用量)。如果我只是按原样使用代码,那么从我的应用程序到我的服务器的流量也将添加到发送和接收的字节中。这是不希望的。我想排除发送到我的服务器的数据。
一个可能的解决方案是我的应用程序可以创建另一个“应用程序”,从而创建一个新的 UID。然后,我只能监控父应用的 TrafficStats。但这需要大量代码更改和一些副作用(例如一个应用程序被杀死/暂停而另一个没有)。
我还可以使用 methodTrafficStats.setThreadStatsTag(int tag)
方法来标记套接字并仅使用标记的套接字对我的服务器进行网络操作。然后我可以从总数中减去它以获得所需的结果。请帮助我如何实现这一点。
另一种解决方案可能是监视我的服务器接收和发送的数据,以便我可以从包含每秒流量的数据中减去它。但问题是我无法理解从每秒数据的特定间隔中减去多少。
对我提到的可能解决方案或任何其他解决方案的任何想法将不胜感激。谢谢。