栏目头部广告

Windows游戏服务器缺少.NET3.5环境依赖而诱发的时间戳转换问题

1、什么是DateTimeOffset?什么是UtcNow?

关于DateTimeOffset和UtcNow详情可参考:https://www.cnblogs.com/redmoon/p/5104098.html

2、游戏业务异常表现

游戏业务在做update操作时,依赖本地时间转换的时间戳,但在实际运行中发现,本地环境运行游戏程序,时间戳生成的时间间隔是1-3ms,而在新服务器环境运行的时间间隔是15-20ms。如下图:

image.png

测试代码用例C#:

using System;
using System.Threading;

namespace test
{
    internal static class Program
    {
        private static void Main(string[] args)
        {
            int i = 0;
            while (true)
            {
                Thread.Sleep(1);

                Console.WriteLine(new DateTimeOffset(DateTime.UtcNow).ToUnixTimeMilliseconds());
                if (i == 100)
                {
                    break;
                }
                i++;
            }

            Console.ReadLine();
        }
    }
}

已经封装可执行exe程序:Windows游戏服务器缺少.NET3.5环境依赖而诱发的时间戳转换问题(图1)test.zip

3、安装.NET3.5相关程序依赖

(1)点击Windows窗口,右侧找到服务器管理器

image.png

(2)点击仪表盘/添加角色和功能

image.png

以下操作默认即可,下一步

image.png

image.png

image.png

(3)选择Web服务器(IIS)

image.png

(4)选择.NET Framework3.5功能

image.png

以下操作默认即可,下一步

image.png

选择Web服务器(IIS应用程序开发(该部分全选)

image.png

image.png

(5)点击安装

image.png

image.png

(6)启动ASP.NET State Service

image.png

(7)效果验证

image.png

作者:UStarGao
链接:https://www.starcto.com/application_of_operational/314.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处

UCloud云平台推荐


UCloud新用户专属注册连接

UCloud CDN超值特惠专场

UCloud全球云主机(UHost/VPS)大促页面

UCloud快杰云主机大促页面

加载中~
文章详情页广告

随便看看

底部广告
`