游戏服务器菜鸟之C#初探三游戏服务

      在经过上述2番折腾之后,最后决定使用TCP进行通信,所以在一次进行重构

      主要重构的要点

1.将过来的HTPP请求,重构为TCP请求;

2.使用组件FluenScheduler进行怪物的定时刷新,和定时处理数据;

3.所有游戏中的数据都保存在缓存服务器中,然后定规、定点的进行数据库操作;

4.在传输过程中,将原来的json转变为压缩后的2进制文件进行传输;

5.共享数据都采用广播,消除了很多轮训的请求;

在重构之后,项目有了明显的好转,CUP和内存的消耗都逐渐下降,但是也遇到一些问题:

1.偶尔会出现客户端中断链接等无法捕捉的异常;

2.TCP请求之后导致通信通道有柱塞和延后的情况;

3.有时候会出现TCP链接一直占用没有及时注销资源的情况;

虽然解决了当前的主要问题,但是对于目前的设计还是感到颇为失败,重构、重构、还是重构...

原文地址:https://www.cnblogs.com/kq123321/p/6072725.html