fix:调整新的中继协议中的上报签名逻辑

This commit is contained in:
liyi 2024-12-02 17:19:01 +08:00
parent b9191d47ba
commit f2fbb6468b
3 changed files with 23 additions and 17 deletions

View File

@ -247,7 +247,6 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
ToPeerId: '3phX8Ng2cZHz5NtP8xAf6nYy2z1BYytoejgjoHrWMGhH'); ToPeerId: '3phX8Ng2cZHz5NtP8xAf6nYy2z1BYytoejgjoHrWMGhH');
}, },
), ),
SizedBox(height: 50.w), SizedBox(height: 50.w),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,

View File

@ -236,6 +236,32 @@ class ScpMessage {
} }
// Payload () // Payload ()
// if (message.PayloadLength != null &&
// bytes.length - offset >= message.PayloadLength!) {
// message.Payload =
// utf8.decode(bytes.sublist(offset, offset + message.PayloadLength!));
// offset += message.PayloadLength!;
// } else {
// throw FormatException("Invalid Payload or PayloadLength");
// }
// PayloadLength
print('Parsed PayloadLength: ${message.PayloadLength}');
// Payload
if (message.PayloadType == PayloadTypeConstant.heartbeat) {
// 110HeartbeatResponse类型
if (message.PayloadLength != null &&
bytes.length - offset >= message.PayloadLength!) {
final payloadBytes =
bytes.sublist(offset, offset + message.PayloadLength!);
message.Payload = HeartbeatResponse.deserialize(payloadBytes);
offset += message.PayloadLength!;
} else {
throw FormatException("Invalid Payload or PayloadLength");
}
} else {
// Payload
if (message.PayloadLength != null && if (message.PayloadLength != null &&
bytes.length - offset >= message.PayloadLength!) { bytes.length - offset >= message.PayloadLength!) {
message.Payload = message.Payload =
@ -244,27 +270,7 @@ class ScpMessage {
} else { } else {
throw FormatException("Invalid Payload or PayloadLength"); throw FormatException("Invalid Payload or PayloadLength");
} }
// Payload
// Payload
if (message.PayloadType == 110) { // 110HeartbeatResponse类型
if (message.PayloadLength != null && bytes.length - offset >= message.PayloadLength!) {
final payloadBytes = bytes.sublist(offset, offset + message.PayloadLength!);
message.Payload = HeartbeatResponse.deserialize(payloadBytes);
offset += message.PayloadLength!;
} else {
throw FormatException("Invalid Payload or PayloadLength");
} }
} else {
// Payload
if (message.PayloadLength != null && bytes.length - offset >= message.PayloadLength!) {
message.Payload = utf8.decode(bytes.sublist(offset, offset + message.PayloadLength!));
offset += message.PayloadLength!;
} else {
throw FormatException("Invalid Payload or PayloadLength");
}
}
// PayloadCRC // PayloadCRC
// if (message.Payload != null) { // if (message.Payload != null) {

View File

@ -139,8 +139,9 @@ class StartChartManage {
try { try {
_log(text: '收到消息---> 长度:${dg?.data?.length}, 数据:${dg?.data}'); _log(text: '收到消息---> 长度:${dg?.data?.length}, 数据:${dg?.data}');
if (dg?.data != null) { if (dg?.data != null) {
final deserialize = ScpMessage.deserialize(dg!.data);
_log(text: '=============${bytesToHex(dg!.data)}'); _log(text: '=============${bytesToHex(dg!.data)}');
final deserialize = ScpMessage.deserialize(dg!.data);
_log(text: 'Udp收到结构体数据---》$deserialize'); _log(text: 'Udp收到结构体数据---》$deserialize');
} }
} catch (e) { } catch (e) {