using NetCoreServer.Syslog; using System.Net; using System.Net.Sockets; namespace Salmon.Service.Watchers; public class SyslogServer : Base , ISyslogMessageHandler { public int Port { get; set; } = 514; NetCoreServer.Syslog.SyslogServer? Server { get; set; } = null; public override void OnStart() { Server = new(Port, NetworkProtocol.UDP, IPAddress.Any, this); Server.Start(); } public override void OnStop() { Server.Stop(); } public void OnError(SocketError error) { } public void OnReceived(EndPoint? remoteEndPoint, byte[] buffer, long offset, long size) { byte[] data = new byte[size]; Array.Copy(buffer, offset, data, 0, size); string message = System.Text.Encoding.UTF8.GetString(data); } }