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

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

相关推荐
心祭丫丫29 分钟前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
Nerd(BUG版)3 小时前
Flutter学习day5--事件手势与命中测试
学习·flutter
Nerd(BUG版)5 小时前
KMP学习day4--Kotlin空安全与泛型
学习·安全·kotlin
東隅已逝,桑榆非晚5 小时前
算法6. 双指针法-查找总价格为目标的两个商品
c++·学习·算法
wdyan2976 小时前
带着小白学习-微服务-5 实战:配置中心-数据库连接
数据库·学习·微服务
叼烟扛炮7 小时前
Linux 学习笔记(五十):网络层——IP 协议、子网划分与 NAT 魔法
linux·笔记·学习
叼烟扛炮7 小时前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法
Rabitebla8 小时前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
叼烟扛炮9 小时前
[LangChain] 学习笔记(03):打破失忆症——对话机制与上下文管理
java·前端·javascript·笔记·学习·langchain
旖旎夜光9 小时前
【C++ 基础入门】类和对象(下):初始化列表、static 成员、友元与内部类
c++·笔记·学习