unity学习(87)——断线的原因--客户端堆栈溢出1

ops/2024/9/24 7:18:00/

无论unity还是exe问题都是一样的,都是客户端一直在发123,但收不到124,退出时服务器能发126,但是客户端压根接受不到126。一下确实解决不了问题,但其实已经十分接近了!

客户端断线后就再也收不到任何包了!现在需要弄清断线的原因

实测,当客户端都已经中断了以后,服务器还在不停的brocast124,客户端此时毛都收不到

 而且,此时broadcast中没有try-catch的,直观感觉就是session的遍历那里出了问题!!!

实际测试发现,即使两个客户端都收不到124数据包了!session的遍历依旧是双份的!session没有问题是write返回的包出现了问题!之前的非unicode字符的问题应该也来自这里

两边都停止时,服务器依然broadcast124但此时客户端就是收不到124

 刨根问底,进入write函数继续查看,最后唯一可能出问题的地方就是这里了!

实际测试,发现即使断线,socket.Send还是一直不停的在发送!

根本找不到问题,感觉是socket溢出了,在服务器加个try-catch看看能抓到点什么不?实测结果抓不到任何异常!

最精彩的部分来了,此时再登录一个exe,此时之前的客户端的移动都是可以传过来的,说明session链接并没有断开。并且,动作是直接同步过来的,说明溢出应该不在服务器这边!应该就是客户端那边数据包溢出了

还有个问题就是只能同时登录3个客户端!第四个客户端会卡在登录界面,下次再解决这个问题。


http://www.ppmy.cn/ops/13285.html

相关文章

微信认证后端轻松搞定,MemFire Cloud 助力应用开发

在当今移动互联网时代,微信认证已成为众多应用必不可少的身份验证方式。然而,对于开发者来说,微信认证的后端工作往往是一项繁琐且耗时的任务。MemFire Cloud提供了一套即用型解决方案,开发者可以轻松解决微信认证的后端难题&…

【电控笔记5.8】数字滤波器设计流程频域特性

数字滤波器设计流程&频域特性 2HZ : w=2pi2=12.56 wc=2*pi*5; Ts=0.001; tf_lpf =

SQL--DDL数据定义语言(Oracle)

文章目录 数据定义语言创建表删除表清空表修改表修改表名,列名修改字段属性添加字段删除字段 数据定义语言 是针对数据库对象操作的语言 数据库对象:表,约束,视图,索引,序列… CREATE ---创建数据库对…

【MCU】栈溢出问题

项目场景: 硬件:STM32F407,操作系统:rt_thread master分支 问题描述 问题栈溢出 id 499 ide 00 rtr 00 len 8 9 Function[rt_completion_wait] shall not be used in ISR (0) assertion failed at function:rt_completion_wait,…

Es批量删除DeleteByQueryRequestBuilder

一、DeleteByQueryRequestBuilder DeleteByQueryRequestBuilder是Elasticsearch Java客户端中的一个类,用于构建和执行基于查询条件删除文档的请求。实验结果表明:删除速率大概是每秒3万条左右。 DeleteByQueryRequestBuilder类提供了一种方便的方式来…

Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码

Java语言开发的AI智慧导诊系统源码springbootredis 3D互联网智导诊系统源码 智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应…

【C语言】操作符

㊙️小明博客主页&#xff1a;➡️ 敲键盘的小明 ㊙️ ✅关注小明了解更多知识☝️ 文章目录 前言一、什么是操作符 &#xff1f;二、操作符的分类三、操作符详解3.1 算术操作符3.2 移位操作符3.2.1 左移操作符&#xff08;<<&#xff09;3.2.2 右移操作符&#xff08;&g…

Qt | 键盘事件

Qt | 鼠标事件第四节十、键盘事件 1、Qt 使用 QKeyEvent 类来描述与键盘有关的信息,比如按下或释放键的代码,使用枚举类型 QEvent::Type 描述与键盘有关的事件,比如 QEvent::KeyPress 表示键盘按下事件, QEvent::KeyRelease表示键盘释放事件等。 2、是否接收键盘事件,最…