This commit is contained in:
2025-02-16 05:54:29 +01:00
parent 3054db7c9b
commit bea758813d
4 changed files with 100 additions and 38 deletions

View File

@@ -3,7 +3,7 @@
<TargetFrameworks>.netstandard2.1; net6.0; net7.0; net8.0; net4.8;</TargetFrameworks>
<ApplicationIcon>icon.ico</ApplicationIcon>
<LangVersion>latest</LangVersion>
<FileVersion>1.3.6</FileVersion>
<FileVersion>1.3.7</FileVersion>
<Authors>EonaCat (Jeroen Saey)</Authors>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Company>EonaCat (Jeroen Saey)</Company>
@@ -24,7 +24,7 @@
</PropertyGroup>
<PropertyGroup>
<EVRevisionFormat>1.3.6+{chash:10}.{c:ymd}</EVRevisionFormat>
<EVRevisionFormat>1.3.7+{chash:10}.{c:ymd}</EVRevisionFormat>
<EVDefault>true</EVDefault>
<EVInfo>true</EVInfo>
<EVTagMatch>v[0-9]*</EVTagMatch>

View File

@@ -12,6 +12,7 @@ public class Syslog : IDisposable
{
private string _Hostname = "127.0.0.1";
private int _Port = 514;
private bool IsConnected { get; set; }
internal UdpClient Udp;
@@ -55,15 +56,24 @@ public class Syslog : IDisposable
public string Nickname { get; set; }
private void SetUdp()
{
try
{
DisposeUdp();
Udp = new UdpClient(_Hostname, _Port);
IsConnected = true;
}
catch
{
IsConnected = false;
}
}
private void DisposeUdp()
{
if (Udp != null)
{
IsConnected = false;
Udp.Dispose();
Udp = null;
}

View File

@@ -12,6 +12,7 @@ namespace EonaCat.Logger.Servers.Tcp
private int _Port = 514;
internal TcpClient _tcp;
private bool IsConnected { get; set; }
public string Nickname { get; set; }
public string IpPort => _Hostname + ":" + _Port;
@@ -51,15 +52,24 @@ namespace EonaCat.Logger.Servers.Tcp
}
internal void SetTcp()
{
try
{
DisposeTcp();
_tcp = new TcpClient(_Hostname, _Port);
IsConnected = true;
}
catch
{
IsConnected = false;
}
}
internal void DisposeTcp()
{
if (_tcp != null)
{
IsConnected = false;
_tcp.Close();
_tcp.Dispose();
_tcp = null;
@@ -84,10 +94,18 @@ namespace EonaCat.Logger.Servers.Tcp
return;
}
if (!IsConnected)
{
SetTcp();
}
if (IsConnected)
{
using var stream = _tcp.GetStream();
await stream.WriteAsync(data, 0, data.Length);
await stream.FlushAsync();
}
}
internal async Task WriteAsync(string data)
{
@@ -101,11 +119,19 @@ namespace EonaCat.Logger.Servers.Tcp
return;
}
if (!IsConnected)
{
SetTcp();
}
if (IsConnected)
{
var sendData = Encoding.UTF8.GetBytes(data);
using var stream = _tcp.GetStream();
await stream.WriteAsync(sendData, 0, sendData.Length);
await stream.FlushAsync();
}
}
~Tcp()
{

View File

@@ -13,6 +13,7 @@ namespace EonaCat.Logger.Servers.Udp
private int _Port = 514;
internal UdpClient _udp;
private bool IsConnected { get; set; }
public string Nickname { get; set; }
public string IpPort => _Hostname + ":" + _Port;
@@ -52,15 +53,24 @@ namespace EonaCat.Logger.Servers.Udp
}
internal void SetUdp()
{
try
{
DisposeUdp();
_udp = new UdpClient(_Hostname, _Port);
IsConnected = true;
}
catch
{
IsConnected = false;
}
}
internal void DisposeUdp()
{
if (_udp != null)
{
IsConnected = false;
_udp.Dispose();
_udp = null;
}
@@ -79,6 +89,13 @@ namespace EonaCat.Logger.Servers.Udp
return;
}
if (!IsConnected)
{
SetUdp();
}
if (IsConnected)
{
_udp.DontFragment = dontFragment;
int maxChunkSize = MaxUdpPacketSize;
@@ -94,6 +111,7 @@ namespace EonaCat.Logger.Servers.Udp
offset += chunkSize;
}
}
}
internal async Task WriteAsync(string data, bool dontFragment = false)
{
@@ -102,6 +120,13 @@ namespace EonaCat.Logger.Servers.Udp
return;
}
if (!IsConnected)
{
SetUdp();
}
if (IsConnected)
{
var sendData = Encoding.UTF8.GetBytes(data);
_udp.DontFragment = dontFragment;
@@ -118,6 +143,7 @@ namespace EonaCat.Logger.Servers.Udp
offset += chunkSize;
}
}
}
~Udp()
{