自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Moon_Star的博客

点点关注谢谢喵

  • 博客(13)
  • 收藏
  • 关注

原创 无脑在腾讯云服务器搭载宝塔Linux面板

因为刚接触云服务器,结果发现没有很弱智的保姆教程导致浪费了些时间,后面直接让学长远程操控搞好,所以笔者决定写一篇博客。

2025-04-26 23:51:35 288

原创 MMO双端游戏基础架构(七):双端服务器采用的异步日志输出框架

链式调用的日志框架,支持同步,异步,高亮,五种输出优先级,文件,控制台,自定义输出方法等多种强大功能的轻量级日志框(包括Unity客户端,通过继承任务接口即可实现客户端同样功能的日志打印)

2025-03-23 11:37:15 170

原创 MMO双端游戏基础架构(六):数据库存储与ORM框架

更多代码细节,球球各位观众老爷给鄙人的开源项目点个Star,持续更新中~

2025-03-23 11:33:39 296

原创 MMO基础双端架构(五):如何O(1)的处理心跳消息

吗?不需要,这只会浪费GC开销,链表的节点移动本来就是o(1)的,既然我不用移除那么我直接转换前后指针(引用)即可。

2025-03-23 11:23:18 504

原创 MMO基础服务器架构(四):线程安全的对象池

需要实现对象池的对象都要继承IPool接口。

2025-03-23 10:59:39 273

原创 MMO基础游戏服务器架构(三):多线程消息队列

Channel是核心数据结构,线程安全的数据分发,ConcurrentDictionary,线程安全的字典用于处理消息回调,Channel作为消息队列的数据结构载体,CancellationTokenSource用于处理多线程Task的异常终止,workCount是此时工作的线程数量,使用原子操作来保证线程安全。使用值类型Struct降低GC。

2025-03-23 10:47:32 615

原创 MMO基础服务器架构(二):定义连接概念的基础类 BaseConnection

由于计算机底层架构可能采用小端模式(数据的低位字节位存放在内存的低地址端,高位字节存放在内存的高地址端),但是网络传输通常是采用大端存储,所以需要处理大小端模式的问题。类型代表消息有多少个字节,中间存储了消息类型(通过字典把Type类型映射为int再类型转换为ushort),最后包尾存储信息。BaseConnection接收到消息的时候会调用ProtoHelper中的方法获取程序集中的类型数据。原生的BaseConnection并不具有缓存信息的功能,但是通过类的继承,我往外拓展了父类。

2025-03-23 10:36:05 278

原创 MMO基础游戏服务器架构(一):c#异步网络连接全流程

必须传入一个字符串类型的host的IP网址(通常为ipv4),网络端口号码 port,重载了构造函数,允许传入一个网络同时接入客户端数量。,后续可能会重构为效率更高的可靠upd库 - kcp,网络客户端信息接收功能封装在类 - TcpServer中。采用的是异步Socket连接的Tcp连接方式,异步运行能更好的利用线程资源,降低线程空转和线程阻塞带来的卡顿。用于处理当客户端Socket真正连接的时候。监控对象,同时排队连接的最大传入连接数。(默认100个),bool类型的字段。,Socket套接字。

2025-03-23 10:28:52 340

原创 MMO基础游戏服务器架构(一)

/BaseConnection是我自己封装的一个连接类,每一条消息都有一个Protobuf的IMessage和Baseconnection。Log.Information("开始监听端口:" + endPoint.Port);//当有人连入的时候。Log.Information("开始监听端口:" + endPoint.Port);//当有人连入的时候。//我的日志系统是使用Serilog的成熟链式调用的日志框架。if (serverSocket == null) //避免触发空引用异常。

2025-03-23 10:23:50 941

原创 全加法器与半加器

这个应该有常识的都知道计算机底层是二进制,因此计算机硬件操作也是基于0/1的,但是计算机硬件nmos与pmos管可不懂什么是加法,那怎么办呢?来检验此时是不是1+1操作i,如果返回1就是进位,carry+1,多位加法器通过2倍数的半加器实现即可。的效果,这也就是所谓半加器,所以我们只要用一个变量存储这里的进位就可以实现全加了,那么我们就可以使用。当然也可以实现相应的16位甚至更多位的半加器计算,都是一样的,大家有兴趣可以自己实现。),计算机硬件是基于一个个门电路构成的,我们知道。如果看过上一篇博客(

2024-09-18 19:51:00 426 4

原创 计算机组成原理基础-门电路(iverilog实现 Linux环境)

当 a 或 b 其中一个为低电平时,至少有一个 PMOS 晶体管会导通,使得 out 被连接到电源电压(1),因此 out 为高电平(1)当 a 和 b 都为高电平时,两个 NMOS 晶体管会导通,out 会被连接到地(0),因此 out 为低电平(0)。使用两根noms管与两根poms管即可实现。assign语句是表示运算。

2024-09-12 14:59:19 442

原创 0基础保姆级安装ubantu24,并且成功配好相关环境(vim,tmux,tool等)

开机的时候隐藏了一个东西请选择下面那个按键。

2024-09-09 17:22:37 549 3

原创 保姆级别使用pycharm搭载opencv环境

我们可以下载一下opencv-python然后看看之前在conda中就有的三个cv包是否是蓝色的(搜索即可)import一下我们的cv库输入以下代码,随意选择一个盘中的图片,显示出来就算成功拉完结撒花。

2024-04-26 19:38:42 3139 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除