Windows游戏服务器缺少.NET3.5环境依赖而诱发的时间戳转换问题
1、什么是DateTimeOffset?什么是UtcNow?
关于DateTimeOffset和UtcNow详情可参考:https://www.cnblogs.com/redmoon/p/5104098.html
2、游戏业务异常表现
游戏业务在做update操作时,依赖本地时间转换的时间戳,但在实际运行中发现,本地环境运行游戏程序,时间戳生成的时间间隔是1-3ms,而在新服务器环境运行的时间间隔是15-20ms。如下图:
测试代码用例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程序:test.zip
3、安装.NET3.5相关程序依赖
(1)点击Windows窗口,右侧找到服务器管理器
(2)点击仪表盘/添加角色和功能
以下操作默认即可,下一步
(3)选择Web服务器(IIS)
(4)选择.NET Framework3.5功能
以下操作默认即可,下一步
选择Web服务器(IIS)→应用程序开发(该部分全选)
(5)点击安装
(6)启动ASP.NET State Service
(7)效果验证
作者:UStarGao
链接:https://www.starcto.com/application_of_operational/314.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
UCloud云平台推荐
随便看看
- 2022-08-16MySQL utf8mb4字符集之表情包存储/生僻词存储
- 2021-05-29MySQL ibdata1共享表空间
- 2021-12-09Windows云主机虚拟内存配置导致系统盘暴增
- 2021-09-27MongoDB数据导入导出工具详解
- 2022-03-24Redis二进制编译安装教程