fix:增加测试发送对话请求消息

This commit is contained in:
liyi 2024-12-06 14:21:51 +08:00
parent a1468b0c3d
commit 298862d153
4 changed files with 51 additions and 9 deletions

View File

@ -242,6 +242,14 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
ToPeerId: '3phX8Ng2cZHz5NtP8xAf6nYy2z1BYytoejgjoHrWMGhH');
},
),
SubmitBtn(
btnName: '发送对讲请求',
onClick: () {
StartChartManage().sendCallRequestMessage(
ToPeerId: '59wtMp6DTpBwrEViT9FQpBMZWnc6MEnLxGuP9eYB4JKt',
);
},
),
SizedBox(height: 50.w),
Row(
mainAxisAlignment: MainAxisAlignment.center,

View File

@ -13,6 +13,7 @@ import 'package:star_lock/talk/startChart/proto/talk_data.pb.dart';
import 'package:star_lock/talk/startChart/proto/talk_expect.pb.dart';
import 'package:star_lock/talk/startChart/proto/talk_ping.pb.dart';
import 'package:star_lock/talk/startChart/proto/talk_reject.pb.dart';
import 'package:star_lock/talk/startChart/proto/talk_request.pb.dart';
class MessageCommand {
/// 线
@ -137,6 +138,30 @@ class MessageCommand {
return _hexToBytes(serializedBytesString);
}
//
static List<int> talkRequestMessage({
required String FromPeerId,
required String ToPeerId,
}) {
final talkReq = TalkReq();
final payload = talkReq.writeToBuffer();
ScpMessage message = ScpMessage(
ProtocolFlag: ProtocolFlagConstant.scp01,
MessageType: MessageTypeConstant.Req,
MessageId: 1,
SpTotal: 0,
SpIndex: 0,
FromPeerId: FromPeerId,
ToPeerId: ToPeerId,
Payload: payload,
PayloadCRC: calculationCrc(payload),
PayloadLength: payload.length,
PayloadType: PayloadTypeConstant.callRequest,
);
String serializedBytesString = message.serialize();
return _hexToBytes(serializedBytesString);
}
//
static List<int> talkRejectMessage({
required String FromPeerId,

View File

@ -17,15 +17,15 @@ class UdpTalkRequestHandler extends ScpMessageBaseHandle
@override
void handle(ScpMessage scpMessage) {
print('收到对讲请求:${scpMessage}');
final TalkReq genericResp = scpMessage.Payload;
//
startChartManage.sendGenericRespSuccessMessage(
ToPeerId: scpMessage.FromPeerId!,
FromPeerId: scpMessage.ToPeerId!,
PayloadType: scpMessage.PayloadType!,
);
//
_talkRequestEvent();
// final TalkReq genericResp = scpMessage.Payload;
// //
// startChartManage.sendGenericRespSuccessMessage(
// ToPeerId: scpMessage.FromPeerId!,
// FromPeerId: scpMessage.ToPeerId!,
// PayloadType: scpMessage.PayloadType!,
// );
// //
// _talkRequestEvent();
}
//

View File

@ -182,6 +182,15 @@ class StartChartManage {
);
await _sendMessage(message: message);
}
//
Future<void> sendCallRequestMessage({required String ToPeerId}) async {
// 线
final message = MessageCommand.talkRequestMessage(
FromPeerId: FromPeerId,
ToPeerId: ToPeerId,
);
await _sendMessage(message: message);
}
//
void _sendHeartbeatMessage() async {