DeviceServerOnDataReceived 事件 |
命名空间: HslCommunication.Core.Device
private ModbusTcpServer server; public void Start( ) { server = new ModbusTcpServer( ); server.OnDataReceived += Server_OnDataReceived; server.ServerStart( 502 ); } // sender指服务器本地的对象,例如 <see cref="ModBus.ModbusTcpServer"/> 对象,source 指会话对象,网口对象为 <see cref="AppSession"/>, // 串口为<see cref="System.IO.Ports.SerialPort"/> 对象,需要根据实际判断,data 为收到的原始数据 byte[] 对象 private void Server_OnDataReceived( object sender, object source, byte[] data ) { // 我们可以捕获到接收到的客户端的modbus报文 // 如果是TCP接收的 if (source is HslCommunication.Core.Net.AppSession session) { // 获取当前客户的IP地址 string ip = session.IpAddress; } // 如果是串口接收的 if (source is System.IO.Ports.SerialPort serialPort) { // 获取当前的串口的名称 string portName = serialPort.PortName; } }