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 int gatewayId,
required String FromPeerId, required String FromPeerId,
required String ToPeerId, required String ToPeerId,
@ -103,6 +103,28 @@ class MessageCommand {
return _hexToBytes(serializedBytesString); 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 // 16
static List<int> _hexToBytes(String hex) { static List<int> _hexToBytes(String hex) {
final bytes = <int>[]; final bytes = <int>[];

View File

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

View File

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

View File

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

View File

@ -202,17 +202,23 @@ class StartChartManage {
// //
void sendGatewayResetMessage( void sendGatewayResetMessage(
{required String ToPeerId, required int gatewayId}) async { {required String ToPeerId, required int gatewayId}) async {
final message = MessageCommand.gatewayReset( final message = MessageCommand.gatewayResetMessage(
ToPeerId: ToPeerId, ToPeerId: ToPeerId,
FromPeerId: FromPeerId, FromPeerId: FromPeerId,
gatewayId: gatewayId, gatewayId: gatewayId,
time: DateTime.now().millisecondsSinceEpoch ~/ 1000, time: DateTime.now().millisecondsSinceEpoch ~/ 1000,
); );
await _sendMessage(message: message); 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);
} }
// 线 // 线