游戏大厅升级日记 第3天
把逻辑升级为一个用户可以同时进入多个大厅(原先是只能进一个大厅),但还是只能打一个游戏。
这迫使我不得不大幅度修改代码,尤其是实体。
迄今为止,已经改好,但是有很多小bug需要解决。
为此在Server端显示消息,包括
收协议,发协议的时间点,以及发送/接收的对象,几个关键内存对象的变化。
在Client端启动的同时打开控制台程序,从而也输出上述这些信息。
迄今为止,登录已经稳定,通信层已经稳定。
非法掉线检测已经稳定,但是在Client端的处理还需要完善。
还需要写story。
又解决了两个bug:
1)leave hall 不正常,是因为我的userHallList中HallId都为0。
2)抛出异常“在创建窗口句柄之前,不能在控件上调用Invoke 或BeginInvoke”,这个问题困扰了我好久,刚刚找到解决方案:在this.Invoke()之前加一段等待代码:
while (!this.IsHandleCreated)
{
;
}