查找时间连接在秒

本文关键字:连接 查找时间 | 更新日期: 2023-09-27 18:04:18

当有人连接到我的TCP服务器时,我使用

记录他们连接的时间
System.DateTime dt = System.DateTime.Now;

然后当我需要找到它们连接了多长时间时,我做…

    foreach (KeyValuePair<string, System.DateTime> pair in playerList)
    {
         System.DateTime curTime = System.DateTime.Now;
         float connectedTime = (float)(curTime - pair.Value).TotalSeconds;
         writer.Write(connectedTime);
    }

当我调试时,connectedTime的值看起来是正确的,但是我用来报告它的协议将其视为胡言乱语。

我使用的c++代码是…

time_t currentTime = time(NULL);
time_t connectedTime = currentTime - g_Users.Element(i).connectTime;
g_UserInfo.WriteFloat(float(tempTime));

我做了什么傻事吗?

查找时间连接在秒

您不必强制转换为float,因为您使用的是BinarryWirter, Write方法可以采用任何整数类型:double, float, int ..,所以:

writer.Write((DateTime.Now.Subtract(pair.Value)).TotalSeconds);