fix:增加peerId长度补齐逻辑但不使用

This commit is contained in:
liyi 2025-05-08 13:43:11 +08:00
parent 1a67783d7a
commit b2d2c75b54

View File

@ -68,6 +68,18 @@ class ScpMessage {
return 'ScpMessage{ProtocolFlag: $ProtocolFlag, MessageType: $MessageType, MessageId: $MessageId, SpTotal: $SpTotal, SpIndex: $SpIndex, FromPeerId: $FromPeerId, ToPeerId: $ToPeerId, PayloadType: $PayloadType, PayloadCRC: $PayloadCRC, PayloadLength: $PayloadLength, Payload: $Payload}';
}
//
List<int> encodeFixedLengthString(String? str, int length) {
final bytes = utf8.encode(str ?? '');
if (bytes.length > length) {
return bytes.sublist(0, length);
} else if (bytes.length < length) {
return bytes + List.filled(length - bytes.length, 0);
} else {
return bytes;
}
}
String serialize() {
final bytes = <int>[];
@ -98,16 +110,19 @@ class ScpMessage {
if (SpIndex != null) {
bytes.add(SpIndex!);
}
// FromPeerId ()
// FromPeerId (44)
if (FromPeerId != null) {
bytes.addAll(utf8.encode(FromPeerId!));
}
// FromPeerId (44)
// bytes.addAll(encodeFixedLengthString(FromPeerId, 44));
// ToPeerId (32)
// ToPeerId (44)
if (ToPeerId != null) {
bytes.addAll(utf8.encode(ToPeerId!));
}
// ToPeerId (44)
// bytes.addAll(encodeFixedLengthString(ToPeerId, 44));
// PayloadType (2 bytes)
if (PayloadType != null) {