This commit is contained in:
cli 2024-10-11 08:40:59 +08:00
parent a481c1dc3e
commit 7b0bb441ab

View File

@ -1,28 +1,16 @@
using JiShe.CollectBus.Core.Exceptions; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JiShe.CollectBus.Protocol.Contracts.Interfaces; using JiShe.CollectBus.Protocol.Contracts.Interfaces;
using TouchSocket.Core; using TouchSocket.Core;
using TouchSocket.Sockets; using TouchSocket.Sockets;
namespace JiShe.CollectBus.Core.Plugins namespace JiShe.CollectBus.Core.Plugins
{ {
public class TcpServiceReceivedPlugin : PluginBase, ITcpReceivedPlugin, ITcpConnectingPlugin, ITcpConnectedPlugin, ITcpClosedPlugin public class TcpServiceReceivedPlugin(IServiceProvider serviceProvider) : PluginBase, ITcpReceivedPlugin,
ITcpConnectingPlugin, ITcpConnectedPlugin, ITcpClosedPlugin
{ {
private readonly IServiceProvider _serviceProvider;
public TcpServiceReceivedPlugin(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
public async Task OnTcpReceived(ITcpSession client, ReceivedDataEventArgs e) public async Task OnTcpReceived(ITcpSession client, ReceivedDataEventArgs e)
{ {
//TODO:根据指令区别是376还是645协议 //TODO:电表: 376.1 645-07 modbus 水表: 118 645-97
var protocolType = "TestProtocol"; var protocolType = "TestProtocol";
IProtocolPlugin? protocolPlugin; IProtocolPlugin? protocolPlugin;
@ -35,7 +23,7 @@ namespace JiShe.CollectBus.Core.Plugins
// //todo: 直接拿设备信息,根据设备信息使用不同的协议解析服务 // //todo: 直接拿设备信息,根据设备信息使用不同的协议解析服务
// break; // break;
} }
protocolPlugin = _serviceProvider.GetKeyedService<IProtocolPlugin>(protocolType); protocolPlugin = serviceProvider.GetKeyedService<IProtocolPlugin>(protocolType);
client.Logger.Info($"{protocolPlugin?.Get().Name},{protocolPlugin?.Get().RegularExpression}"); client.Logger.Info($"{protocolPlugin?.Get().Name},{protocolPlugin?.Get().RegularExpression}");