unity学习(18)——服务器执行流程

服务器流程如下:

1.Program.Main()->

2.ServerStart.start()->

3.socket.BeginAccept+ServerStart.AcceptCallBack接收客户端的连接,然后转向处理函数->

暂时还没有测试多开,编译一次挺麻烦的

4.socket.BeginReceive->erverStart.ReceiveCallBack->ServerStart.readMessage多次出现函数自己套自己的,网络编程没什么大惊小怪的。readMessage按照socketModel结构读取数据。这样就和之前客户端的知识

cs 复制代码
public class SocketModel
{
  public int Type;
  public int Area;
  public int Command;
  public string Message;
}

5.readMessage->LogicHandler.getInstance().process按Type分类给不同的函数再去做进一步的处理,,分别进入xxxHandler。总体看似挺麻烦的,其实已经很明朗了。process的内容如下:

cs 复制代码
public void process(Session session, SocketModel model)
{
  try
  {
    switch (model.Type)
    {
      case 0:
        LoginHandler.getInstance().process(session, model);
        break;
      case 1:
        MapHandler.getInstance().process(session, model);
        break;
      case 2:
        UserHandler.getInstance().process(session, model);
        break;
    }
  }
  catch (Exception ex)
  {
            //MyLog.form.textAdd(ex.Message);
        Console.WriteLine(ex.Message);
  }
}

到此为止服务器终于可以告一段落了。

相关推荐
留白_9 分钟前
代运营面试问答
学习
是隼人12 分钟前
buuctf-pwn PWN8题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
ps酷教程1 小时前
数据权限DataPersmission
java·学习
无敌贵点大王1 小时前
RTThread学习记录10——C语言实现面向对象的编程
c语言·stm32·学习·链表
程序员yu2 小时前
数智码力:Python作用域完全梳理,全局变量局部变量不再混乱
开发语言·python·学习
传奇开心果编程3 小时前
【ArkUI 练中学】第5课:路由导航与页面跳转
学习·华为·前端框架
传奇开心果编程4 小时前
【仓颉语言基础语法学与练】第1课:从零开始
开发语言·学习·华为
M78佐菲4 小时前
ARM学习笔记(三)
linux·arm开发·笔记·嵌入式硬件·学习
传奇开心果编程4 小时前
【ArkUI 练中学】第4课:高级布局与列表性能优化
学习·华为·前端框架
dtq04244 小时前
数据结构 - 栈
c语言·数据结构·学习