收藏
回答

UDPSocket.onMessage 在同一毫秒收到数据时,会导致数据缺失

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 Bug UDPSocket 工具 3.9.12.17 3.7.0

bug:在 udp 接收数据的时候,假如同一毫秒收到两条数据,偏后一条的数据的 res.message.byteLength 的值是前一条的 byteLength ,

如果后一条的数据长度比前面的长,那会导致后一条的数据缺失。

例如 前一条是 315 的长度,后一条是 318 的长度, 那在获取数据时只能获取到前 315 个长度,会导致丢失了 3 个 byte 的数据。

目前仅在 window 端 小游戏 出现这个问题。

复现操作路径: 先在控制台运行模拟数据发送的程序,

讲程序监听的端口输入到小游戏的模态对话框中,

之后会在控制台看到小游戏发送的数据,

再过十几秒,就差不多会看到数据长度与实际长度不一致的报错信息

预期表现: onMessage接收到的数组长度,应该跟实际发送的一致

测试代码:

小游戏端:

服务端:

服务端运行程序:

https://share.weiyun.com/yZFeM85M

最后一次编辑于  2024-12-02
回答关注问题邀请回答
收藏
登录 后发表内容