fix:调整udp返回数据为工厂模式处理

This commit is contained in:
liyi 2024-12-04 15:10:51 +08:00
parent 9847b572b3
commit 3e25831132
5 changed files with 38 additions and 7 deletions

View File

@ -73,7 +73,7 @@ class MessageCommand {
}
//
static List<int> gatewayReset({
static List<int> gatewayResetMessage({
required int gatewayId,
required String FromPeerId,
required String ToPeerId,
@ -103,6 +103,28 @@ class MessageCommand {
return _hexToBytes(serializedBytesString);
}
//
static List<int> talkPingMessage({
required String FromPeerId,
required String ToPeerId,
}) {
ScpMessage message = ScpMessage(
ProtocolFlag: ProtocolFlagConstant.scp01,
MessageType: MessageTypeConstant.Req,
MessageId: 1,
SpTotal: 0,
SpIndex: 0,
FromPeerId: FromPeerId,
ToPeerId: ToPeerId,
Payload: 'hello',
PayloadCRC: 55230,
PayloadLength: 5,
PayloadType: PayloadTypeConstant.talkPing,
);
String serializedBytesString = message.serialize();
return _hexToBytes(serializedBytesString);
}
// 16
static List<int> _hexToBytes(String hex) {
final bytes = <int>[];

View File

@ -9,12 +9,13 @@ import 'package:star_lock/talk/startChart/proto/generic.pb.dart';
import '../../start_chart_manage.dart';
class UdpCallRequestHandler extends ScpMessageBaseHandle implements ScpMessageHandler {
class UdpCallRequestHandler extends ScpMessageBaseHandle
implements ScpMessageHandler {
@override
void handle(ScpMessage scpMessage) {
final GenericResp genericResp = scpMessage.Payload;
if (checkGenericRespSuccess(genericResp)) {
// TODO
//
Get.toNamed(
Routers.lockMonitoringPage,
arguments: <String, String>{'lockId': '111'},

View File

@ -15,6 +15,7 @@ class UdpTalkAcceptHandler extends ScpMessageBaseHandle
final GenericResp genericResp = scpMessage.Payload;
if (checkGenericRespSuccess(genericResp)) {
// TODO
// TODO
}
}
}

View File

@ -15,6 +15,7 @@ class UdpTalkPingHandler extends ScpMessageBaseHandle
final GenericResp genericResp = scpMessage.Payload;
if (checkGenericRespSuccess(genericResp)) {
// TODO
}
}
}

View File

@ -202,17 +202,23 @@ class StartChartManage {
//
void sendGatewayResetMessage(
{required String ToPeerId, required int gatewayId}) async {
final message = MessageCommand.gatewayReset(
final message = MessageCommand.gatewayResetMessage(
ToPeerId: ToPeerId,
FromPeerId: FromPeerId,
gatewayId: gatewayId,
time: DateTime.now().millisecondsSinceEpoch ~/ 1000,
);
await _sendMessage(message: message);
Get.toNamed(
Routers.lockMonitoringPage,
arguments: <String, String>{'lockId': '111'},
}
//
void sendTalkPingMessage(
{required String ToPeerId, required int gatewayId}) async {
final message = MessageCommand.talkPingMessage(
ToPeerId: ToPeerId,
FromPeerId: FromPeerId,
);
await _sendMessage(message: message);
}
// 线