untiy3手游计算数据流量

来源:互联网 发布:怎么查看php的位数 编辑:程序博客网 时间:2024/04/29 02:47

游戏在android平台,需要计算用户联网是的数据流量,开始想用android平台的api来计算,不过没搞懂,咨询大牛,建议用截取数据的方式,就是联网时上传和接收的数据量的byte数量累加到一个 dictionary中,在关闭网络的时候,将累加的总量存储到设备的数据库中。这样计算只是计算的和游戏相关的数据量,不过对于玩家只是了解的层次,也是可以的了。

 介个是简单的样例

using UnityEngine;using System.Collections.Generic;using System;public class Flow : ScriptableObject{    static Dictionary<int, int> DicFlow = new Dictionary<int, int>();    static int key = 0;    public static void AddFlow(int b)    {        if (!DicFlow.ContainsKey(key))        {            DicFlow.Add(key, b);            key++;        }    }    static float GetFlow()    {        long flow = 0;        for (int i = 0; i < key; i++)        {            if (DicFlow.ContainsKey(i))            {                flow += DicFlow[i];            }        }        return (float)flow / 1024 / 1024;    }    public static void UploadFlowToLocalTable()    {        try        {            float f = GetFlow();            //上报到服务器            Global.db.CheckAndOpen();            Global.db.ExecuteQuery("INSERT INTO traffic_record (traffic ) VALUES(" + f+  ")");            DicFlow.Clear();            key = 0;            Global.db.CloseSqlConnection();        }        catch (Exception e)        {            Debug.Log(e.ToString());            Global.db.CloseSqlConnection();        }           }}