From dc762db048daa0b1a7819f250e309ecb1cab80e4 Mon Sep 17 00:00:00 2001 From: Dmitri Shimanski Date: Sun, 30 Mar 2025 00:47:54 +0300 Subject: [PATCH] Change version of package and readme --- README.md | 18 +++++++++++++++++- yawaflua.WebSockets/yawaflua.WebSockets.csproj | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 820c893..df5391a 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,23 @@ public class ChatController : WebSocketController } ``` -## Run any code on connection to +## Run any code on connection to WebSocket +```csharp +services.AddSingleton(new WebSocketConfig() +{ + OnOpenHandler = async (socket, context) => + { + if (socket.WebSocketManager!.GetAllClients().Count(k => + Equals(k.ConnectionInfo!.RemoteIpAddress!.MapToIPv4(), + socket.Client.ConnectionInfo!.RemoteIpAddress!.MapToIPv4())) >= 3) + { + await socket.CloseAsync(WebSocketCloseStatus.NormalClosure, "Too many users"); + } + Console.WriteLine($"{socket.Client.Id} has been connected to {socket.Client.Path}"); + } +}) +``` + ## Lifecycle Management 1. **Connection** - Automatically handled by middleware diff --git a/yawaflua.WebSockets/yawaflua.WebSockets.csproj b/yawaflua.WebSockets/yawaflua.WebSockets.csproj index 4198372..b17e376 100644 --- a/yawaflua.WebSockets/yawaflua.WebSockets.csproj +++ b/yawaflua.WebSockets/yawaflua.WebSockets.csproj @@ -4,7 +4,7 @@ net6.0;net7.0;net8.0;net9.0 enable enable - 1.0.0 + 1.0.1 yawaflua.WebSockets New AspNet controllers looks like websocket manager Dmitrii Shimanskii