diff --git a/README.md b/README.md index cf4e29c..dba43d7 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ class UdpServer : UdpServerEapBase } /// - public UdpServer(ushort maxClients, ushort maxPacketSize = 65522) - : base(maxClients, maxPacketSize) { } + public UdpServer(ushort maxPacketSize = 65522) + : base(maxPacketSize) { } } class UdpServerClient : UdpServerClientBase @@ -74,7 +74,7 @@ class UdpServerClient : UdpServerClientBase ```csharp static void Main(string[] args) { - using(UdpServer server = new UdpServer(32)) + using(UdpServer server = new UdpServer()) { server.ClientConnected += (server1, client) => { @@ -154,8 +154,8 @@ class TcpServer : TcpServerEapBase return true; } - public TcpServer(ushort expectedMaxClient = 32, ushort maxPacketSize = 65520) - : base(expectedMaxClient, maxPacketSize) { } + public TcpServer(ushort maxPacketSize = 65520) + : base(maxPacketSize) { } } class TcpServerClient : TcpServerClientBase @@ -188,7 +188,7 @@ static void Main(string[] args) string request = (string)data; Console.WriteLine($"Request: {request}"); byte[] buffer = Encoding.UTF8.GetBytes(DateTime.Now.ToLongDateString()); - server1.SendTo(client, 45, buffer, 0, buffer.Length, responseid); + server1.SendTo(client, responseid, buffer, 0, buffer.Length, true); return true; }); diff --git a/examples/Example.Server/Program.cs b/examples/Example.Server/Program.cs index b343947..2fb748d 100644 --- a/examples/Example.Server/Program.cs +++ b/examples/Example.Server/Program.cs @@ -70,8 +70,8 @@ class Server : TcpServerEapBase class Server : UdpServerEapBase #endif { - public Server(ushort expectedMaxClient = 32, ushort expectedMaxPayloadSize = 512) - : base(expectedMaxClient, expectedMaxPayloadSize) { } + public Server(ushort expectedMaxPayloadSize = 512) + : base(expectedMaxPayloadSize) { } protected override bool CreateServerClient(out ServerClient serverClient) { diff --git a/src/Exomia.Network/TCP/TcpServerApmBase.cs b/src/Exomia.Network/TCP/TcpServerApmBase.cs index 7bb162c..7ad13c4 100644 --- a/src/Exomia.Network/TCP/TcpServerApmBase.cs +++ b/src/Exomia.Network/TCP/TcpServerApmBase.cs @@ -54,14 +54,12 @@ private void AcceptCallback(IAsyncResult ar) try { Socket socket = _listener!.EndAccept(ar); -#pragma warning disable IDE0068 // Use recommended dispose pattern ServerClientStateObjectApm state = new ServerClientStateObjectApm( new byte[_payloadSize + Constants.TCP_HEADER_OFFSET], new CircularBuffer((_payloadSize + Constants.TCP_HEADER_OFFSET) * 2), new BigDataHandler.Default(), socket, new byte[_payloadSize + Constants.TCP_HEADER_OFFSET]); -#pragma warning restore IDE0068 // Use recommended dispose pattern ReceiveAsync(state); } catch (ObjectDisposedException) diff --git a/src/Exomia.Network/TCP/TcpServerEapBase.cs b/src/Exomia.Network/TCP/TcpServerEapBase.cs index 73ef40c..8f255ad 100644 --- a/src/Exomia.Network/TCP/TcpServerEapBase.cs +++ b/src/Exomia.Network/TCP/TcpServerEapBase.cs @@ -27,13 +27,11 @@ public abstract class TcpServerEapBase : TcpServerBase /// Initializes a new instance of the class. /// - /// (Optional) The expected maximum clients. /// (Optional) Size of the expected maximum payload. - protected TcpServerEapBase(ushort expectedMaxClients = 32, - ushort expectedMaxPayloadSize = Constants.TCP_PAYLOAD_SIZE_MAX) + protected TcpServerEapBase(ushort expectedMaxPayloadSize = Constants.TCP_PAYLOAD_SIZE_MAX) : base(expectedMaxPayloadSize) { - _sendEventArgsPool = new SocketAsyncEventArgsPool((ushort)(expectedMaxClients * 32)); + _sendEventArgsPool = new SocketAsyncEventArgsPool(0xFF); } private void ListenAsync(SocketAsyncEventArgs acceptArgs) diff --git a/src/Exomia.Network/UDP/UdpServerApmBase.cs b/src/Exomia.Network/UDP/UdpServerApmBase.cs index de032bb..25286ea 100644 --- a/src/Exomia.Network/UDP/UdpServerApmBase.cs +++ b/src/Exomia.Network/UDP/UdpServerApmBase.cs @@ -27,13 +27,11 @@ public abstract class UdpServerApmBase : UdpServerBase /// Initializes a new instance of the class. /// - /// The expected maximum clients. /// (Optional) Size of the expected maximum payload. - protected UdpServerApmBase(ushort expectedMaxClients, - ushort expectedMaxPayloadSize = Constants.UDP_PAYLOAD_SIZE_MAX) + protected UdpServerApmBase(ushort expectedMaxPayloadSize = Constants.UDP_PAYLOAD_SIZE_MAX) : base(expectedMaxPayloadSize) { - _serverClientStateObjectPool = new ObjectPool((ushort)(expectedMaxClients * 32)); + _serverClientStateObjectPool = new ObjectPool(0xFF); } private void SendDataToCallback(IAsyncResult iar) diff --git a/src/Exomia.Network/UDP/UdpServerEapBase.cs b/src/Exomia.Network/UDP/UdpServerEapBase.cs index e9efd11..35cd9d2 100644 --- a/src/Exomia.Network/UDP/UdpServerEapBase.cs +++ b/src/Exomia.Network/UDP/UdpServerEapBase.cs @@ -28,14 +28,12 @@ public abstract class UdpServerEapBase : UdpServerBase /// Initializes a new instance of the class. /// - /// The expected maximum clients. /// (Optional) Size of the expected maximum payload. - protected UdpServerEapBase(ushort expectedMaxClients, - ushort expectedMaxPayloadSize = Constants.UDP_PAYLOAD_SIZE_MAX) + protected UdpServerEapBase(ushort expectedMaxPayloadSize = Constants.UDP_PAYLOAD_SIZE_MAX) : base(expectedMaxPayloadSize) { - _receiveEventArgsPool = new SocketAsyncEventArgsPool((ushort)(expectedMaxClients * 32)); - _sendEventArgsPool = new SocketAsyncEventArgsPool((ushort)(expectedMaxClients * 32)); + _receiveEventArgsPool = new SocketAsyncEventArgsPool(0xFF); + _sendEventArgsPool = new SocketAsyncEventArgsPool(0xFF); } ///