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);
  }
}

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

相关推荐
世人万千丶1 小时前
鸿蒙Flutter Flex多子组件权重分配
学习·flutter·华为·harmonyos·鸿蒙
圣光SG4 小时前
Servlet学习笔记
笔记·学习·servlet
@Mike@6 小时前
02-数据库学习笔记(SQL引擎)
数据库·笔记·学习
六点_dn6 小时前
RabbitMQ学习笔记-定义与作用
笔记·学习·rabbitmq
我的xiaodoujiao7 小时前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
世人万千丶8 小时前
鸿蒙Flutter Flexible与Expanded的区别
学习·flutter·harmonyos·鸿蒙
YM52e9 小时前
鸿蒙Flutter Center居中组件:Align对齐详解
android·学习·flutter·华为·harmonyos·鸿蒙
金伟API102411 小时前
SQL Server基础学习笔记
笔记·学习
MartinYeung511 小时前
[论文学习]MiCA:比LoRA和全参数微调学到更多知识
深度学习·学习·机器学习
浮江雾12 小时前
Flutter第十节-----Flutter布局与组件全解析
android·开发语言·前端·学习·flutter·入门