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,,这样反而感觉不卡了好多!

相关推荐
升讯威在线客服系统5 分钟前
如何通过 Docker 在没有域名的情况下快速上线客服系统
java·运维·前端·python·docker·容器·.net
Karoku0662 小时前
【CI/CD】CI/CD环境搭建流程和持续集成环境配置
运维·ci/cd·docker·容器·kubernetes·prometheus
StickToForever4 小时前
第4章 信息系统架构(五)
经验分享·笔记·学习·职场和发展
勤奋的凯尔森同学5 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
丁卯4046 小时前
Go语言中使用viper绑定结构体和yaml文件信息时,标签的使用
服务器·后端·golang
chengooooooo6 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
人间打气筒(Ada)8 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231118 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
Moonnnn.8 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
落笔画忧愁e8 小时前
FastGPT快速将消息发送至飞书
服务器·数据库·飞书