unity学习(77)--多玩家信息交互--不同类型的数据包

明白各个数据包的作用,以及是否正确的发挥作用

1.“120包”,客户端登录时发给服务器的,服务器处理后返回“121包”。

2.“121包” ,服务器返回给客户端的,包含登录时所有在线玩家的信息。

客户端也通过createPlayer函数成功初始化了自己的gameobject。

 

3.“122包”,服务器告诉客户端有新玩家进入。

3.1可以收到“122包”,但是客户端并未能成功初始化其他玩家!

3.2即使关掉exe,122还是会卡包

下面着手解决这两个问题。

 3.3首先是不初始化!服务器断开连接,几乎就是因为客户端报错,就好像之前MessageManger没有绑到map2的相机上导致不收包!所以此时的问题也应该是客户端没能正确处理“122包”所引起的。

而且通过下图可以明确看到,出了121的createPlayer成功了,所有122的都失败了

3.4通过进一步调试定位异常的位置。

登录时,正常如下。

 当有其他玩家登录,客户端收到122包的时候。

 说明当有其他玩家登录时,第一次122至少执行到了Debug.Log("createPlayer---2"),其他在playerList.Add(model.id, model);这句就已经异常了。因为重复了,不能再次加入。

3.5先想办法让“第一次122”走的更远一些,通过进一步定位发现是下面这句产生了一异常:

 try-catch输出的异常内容如下:

你调用的对象是空的?!也就是说我的预构体数组playerProfabs[model.job]为空?

实测playerProfabs[model.job]的确为空!

3.6解决

4.“123包” ,客户端不停发送给服务器的,代表当前玩家的信息。单个玩家没问题。

5.“124包” ,服务器返回给客户端的,包含当前所有在线玩家的信息。和“123包”一样,单个玩家没有问题!“124包”一登上来就工作,完全独立于“123包”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/577759.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Android Studio3.5.2安装以及错误错误解决】

前言 下面是博主在安装Android studio时遇到的一些问题,并且花费很长时间寻找解决方法,经过了血和泪的教训下面将自己在安装过程中遇到的查看的资料贴出来(感谢各位大佬的文章帮助本闲狗解答疑惑,此处贴出原文链接,如…

VTK 9.2.6 源码和VTK Examples 编译 Visual Studio 2022

对于编译 VTK 源码和编译详细的说明: VTK 源码编译: 下载源码: 从 VTK 官方网站或者 GitHub 获取源代码。官网目前最近的9.3.0有问题,见VTK 9.3.0 编译问题 Visual Studio 2022去gitlab上选择9.2.6分支进行clone CMake 配置&…

基于Unity+Vue3通信交互的WebGL项目发布实践

基于UnityVue3通信交互的WebGL项目发布实践 实践路线 基于UnityVue3通信交互的WebGL项目发布实践问题背景准备工作解决方案项目实践小目标搭建Unity测试项目 创建Vue3测试项目运行项目验证unity和vue通信功能总结与展望 问题背景 我们最近需要把unity开发的pc项目迁移到web端&…

Manjaro 安装全新 Linux 版微信,从此告别 Wine

目前已经基本上使用 Manjaro 来工作,而工作离不开微信作为日常的工作沟通工具。因为微信官方一直没有 Linux 版本的,所以之前都只能够使用 Wine 版本,然后踩了不少坑,但还算能勉强使用。 最近听说微信终于要发布 Linux 版本的&am…

[flink 实时流基础] flink组件栈以及任务执行与资源划分

文章目录 7. Flink组件栈1. 部署层(1)Local模式(2)Cluster模式(3)Cloud模式 2.运行时3.API层4. 上层工具 8. 任务执行与资源划分1. 再谈逻辑视图到物理执行图2. 任务、算子子任务与算子链3. Slot与计算资源…

YOLOv9改进策略:loss优化 | LRM loss困难样本挖掘,提升难样本、遮挡物、低对比度等检测精度

💡💡💡本文改进内容:LRM loss困难样本挖掘引入到YOLOv9,性能优于Focal Loss 💡💡💡 LRM loss应用到能够大幅提升小目标、红外小目标、大幅度提升遮挡物性能,性能如下图所…

【51单片机入门记录】Onewire单总线协议 温度传感器DS18B20概述

一、温度传感器DS18B20概述 (1)数字化温度传感器 美国DALLAS半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建…

JSON数据的类型

JSON 代表 JavaScript Object Notation。JSON是开放的标准格式,由key-value对组成。JSON的主要用于在服务器与web应用之间传输数据。 PostgreSQL提供了两种存储JSON数据的类型:json和jsonb; jsonb是json的二进制形式。 json格式写入快&#x…

comfyui api

stable diffusion comfyui的api使用教程_厦门外里科技的技术博客_51CTO博客stable diffusion comfyui的api使用教程,为什么要使用comfyui的api?对比webui的api,它有什么好处?stablediffusion如何实现队列https://blog.51cto.com/u…

HarmonyOS 应用开发之UIAbility组件启动模式

UIAbility的启动模式是指UIAbility实例在启动时的不同呈现状态。针对不同的业务场景,系统提供了三种启动模式: singleton(单实例模式)multiton(多实例模式)specified(指定实例模式)…

【SpringBoot】【经典面试题】每天10个Java面试题-面试大厂起飞系列-day01

嗨,各位小伙伴! 🐱‍💻 我是【行走的程序喵】!一个兼具Web前端和Java后端技能的技术宅! 🌟 我的博客上分享最新的Web前端和Java后端技术文章,从基础入门到进阶应用,应有…

Git相关命令(一)

一、简介 Git 是一个开源的分布式版本控制系统。 当然, git 不会傻傻的把你的每一个版本完整的存储下来,他仅仅会存储每次修改的位置和内容(可持久化),每一次 commit 可以理解为产生一个版本,接下来的版本…