unity学习(91)——云服务器调试——补充catch和if判断

本机局域网没问题,服务器放入云服务器后,会出现异常。

想要找到上面的问题,最简单的方法就是在云服务器上下载一个vs2022!

应该不是大小端的问题!

修改一下readMessage的内容,可以直接粘贴到云服务器的。

截图好几遍才看到问题

外面再套一个try catch

cs 复制代码
    public static void readMessage(Session session, byte[] bytes)//读取数据包
    {
        try
        {
            ByteArray byteArray = new ByteArray(bytes);
            int num1 = byteArray.ReadInt();
            int num2 = byteArray.ReadInt();
            int num3 = byteArray.ReadInt();
            int length = byteArray.ReadInt();
            string str = (string)null;

            if (num1 == 0 || num1 == 1 || num1 == 2)
            {
                if (length > 0)
                { str = byteArray.ReadUTFBytes((uint)length); }
                LogicHandler.getInstance().process(session, new SocketModel()
                {
                    Type = num1,
                    Area = num2,
                    Command = num3,
                    Message = str
                });
            }
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex);
        }
    }
}

再登录还是直接卡死,还是直接输出那段代码。

后来又测了一下前两个用户没有问题,第三个开始,之前的用户看不到新进入的角色,第四个用户卡的进都进不去!

游戏嘛!换个环境出一些问题都是很正常的!

这次是log函数,前面reg也刚刚犯了这个错误,好改!还有,就是现在服务器处理数据包的速度实在是太慢了,后面每个线程肯定需要做一个双端心跳统计的!tcp相比于udp应该是有优势的!

log和reg的问题应该都是由于多次点击,发送空包造成的!云服务器复制不出来,但是能复制进去。

这种修改方法明显治标不治本!第四个玩家登录时服务器又卡死了,一点一点治疗吧!

此时进来的是'000包',但是message是null:

所以去serverStart中增加

'200包'请求时,内容就是空的,条件改成if(str!=null || num1==2)

修改后,问题现在只剩之前玩家看不到之后玩家登录,这一个问题了!后登陆的玩家不初始化,先登录的这边自然也无法将广播转换成移动(123和124问题),这些问题之前已经解决了,现在的问题是云服务器这边不初始化。

云服务器那边最好输出一些console,,这样反而感觉不卡了好多!

相关推荐
龙亘川40 分钟前
适应人工智能发展、构建就业友好型发展方式
大数据·运维·人工智能·信息可视化·智慧城市
数据库小学妹41 分钟前
OLAP数据库怎么选、怎么优化?路线、提速与边界
运维·数据库·后端
织码weavecodes1 小时前
新闻资讯模块设计:内容发布、阅读计数与附件鉴权
java·服务器·数据库
说实话起个名字真难啊1 小时前
实战docker部署dify及注意点
运维·docker·容器
福建佰胜张工1 小时前
费希尔 FIELDVUE™ DVC6200-AC 智能阀门定位器深度解析:双作用配置、核心参数与典型应用
运维·安全·自动化
小羊没烦恼!1 小时前
分布式事务 | 使用DTM 的Saga 模式
java·linux·运维·数据库·wpf
上海运维Q先生1 小时前
PHP8.3.36升级修复手册----CVE-2026-109618 CVE-2026-109619
运维·php
NailiConveyor1 小时前
输送机机架怎么选材?碳钢、不锈钢、铝型材的成本与适用场景
大数据·运维·自动化·制造·业界资讯
SteveSenna1 小时前
aubo学习:realsense手眼标定
学习·机器人·视觉检测
骑着蜗牛撵大象3272 小时前
让 Codex 值夜班:把告警排查与巡检接成可回滚的自动化链路
android·java·运维·ai·自动化·codex·智能体