Bootstrap

unity学习(84)——玩家下线和“保服务器”(closeSession)

任务一:当进程结束时,要想办法通知服务器玩家已下线。

任务二:即便客户端发生异常,也要优先保障服务器的正常运行!

1.exe退了unity中gameobject不消失,再登exe,unity直接卡死自杀。不过此时服务器依旧坚挺!

2.在服务器中找到leave,此时command=5

 对应的函数如下: 很明显,是收5发6,之前01234都有过了

而且发现只有“发包下线”这一种下线方法!

3.来到客户端 ,需要做两件事,处理6,发送5,游戏就是这样一点一点积累出来的!

3.1处理“126”

messagemanager中:

 maphandler中:

3.2发送“125”,现在情况如下:exe正常退出时,可以触发125函数,unity中断play不会触发125!exe126现在可以destroy游戏中的模型,而且可以多次重复登录!

经过尝试发现unity play中断关不干净,再次play才能关干净

在服务器中增加断点,借助堆栈,看看125包是receive到的,还是服务器直接自己生成126的。

看到session close的时候就算是明白了,是服务器自产生的!只要关的彻底,服务器应该问题不大

 得到结论,现在的126是服务器产生的,不是任何一个客户端发送的

;