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

本文讨论了如何在Unity客户端和服务器间处理进程结束通知,确保客户端异常不影响服务器运行。重点在于理解离开操作的125和126消息,发现126实际上是服务器自动生成的,而非客户端发送,这有助于优化服务器的响应和客户端体验。
摘要由CSDN通过智能技术生成

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

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

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是服务器产生的,不是任何一个客户端发送的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值