Updated
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user