VOOZH about

URL: https://www.nuget.org/packages/EzDotNetty/

โ‡ฑ NuGet Gallery | EzDotNetty 1.0.21


๏ปฟ

EzDotNetty 1.0.21

dotnet add package EzDotNetty --version 1.0.21
 
 
NuGet\Install-Package EzDotNetty -Version 1.0.21
 
 
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EzDotNetty" Version="1.0.21" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EzDotNetty" Version="1.0.21" />
 
Directory.Packages.props
<PackageReference Include="EzDotNetty" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EzDotNetty --version 1.0.21
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EzDotNetty, 1.0.21"
 
 
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EzDotNetty@1.0.21
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EzDotNetty&version=1.0.21
 
Install as a Cake Addin
#tool nuget:?package=EzDotNetty&version=1.0.21
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

๐Ÿ‘ Website
๐Ÿ‘ Made with

๐Ÿ‘ Publish Nuget Github Package
๐Ÿ‘ Publish Nuget Package

๐Ÿ‘ GitHub forks
๐Ÿ‘ GitHub stars
๐Ÿ‘ GitHub watchers
๐Ÿ‘ GitHub followers

๐Ÿ‘ GitHub
๐Ÿ‘ GitHub repo size in bytes
๐Ÿ‘ GitHub code size in bytes

EzDotNetty

introduce

Easily usable with DotNetty.

Implemented by C# .NET 9

The purpose of this project is to easily build and operate a server using DotNetty.

nuget

https://www.nuget.org/packages/EzDotNetty/

Example

TestClient

https://github.com/elky84/EzDotNetty/TestClient

TestServer

https://github.com/elky84/EzDotNetty/TestServer

structure review

ํ•œ๊ตญ์–ด

  • BootstrapHelper
    • ์†์‰ฝ๊ฒŒ DotNetty ๊ธฐ๋ณธ ์˜ต์…˜์œผ๋กœ ๊ฐ€๋™ํ•ด์ฃผ๋Š” Helper Class
    • ์ƒ์„ฑ์ž์— ๋„˜๊ธฐ๋Š” THandler Type์— ๋”ฐ๋ผ, ์†Œ์ผ“ ์ปค๋„ฅ์…˜๋งˆ๋‹ค Handler๋ฅผ ์ƒ์„ฑํ•ด์คŒ
      • ์ด๋Š” DotNetty์˜ ๊ตฌ์กฐ์ด์ž ๊ทœ์น™์ด๋ฉฐ, Handler๋Š” ์ปค๋„ฅ์…˜๋งˆ๋‹ค ์ƒ์„ฑ๋œ๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•ด์„œ ์ฝ”๋”ฉ ํ•ด์ฃผ์–ด์•ผ ํ•จ.
  • Config
    • ๋ง๊ทธ๋Œ€๋กœ ์„ค์ • ํŒŒ์ผ
      • AppSettings.json ์œผ๋กœ ๋ถ€ํ„ฐ ์ฝ์–ด์˜ด
      • ์„ค์ • ํŒŒ์ผ์— property๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ด๊ณณ์—์„œ ํ™•์žฅํ•ด๋„ ๋˜๊ณ , ๊ธฐ๋Šฅ์€ ๋ณ„๊ฐœ์˜ ์„ค์ • ํŒŒ์ผ์„ ์“ฐ๊ฑฐ๋‚˜, ๋ณ„๊ฐœ์˜ class๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ฝ์–ด๋„ ๋ฌด๋ฐฉํ•˜๊ธด ํ•จ
        • IConfigurationRoot ์ž์ฒด๊ฐ€ string ํ˜•ํƒœ๋กœ ์„ค์ • ๊ฐ’์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ
  • Handler
    • ๊ธฐ๋ณธ์ ์ธ DotNetty ์ด๋ฒคํŠธ๋ฅผ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ChannelHandlerAdapter์˜ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค ์ด์ž, ์ผ๋ถ€ ๋ฉ”์†Œ๋“œ๋ฅผ abstract๋กœ ์ง€์ •ํ•œ ์ถ”์ƒ ํด๋ž˜์Šค
      • BootstrapHelper์—์„œ THandler์˜ ๋ช…์‹œ ํƒ€์ž…์„ ๊ทœ์น™ํ™” ํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ•˜๋Š” ํด๋ž˜์Šค
  • Logging
    • Serilog์— ๋Œ€ํ•œ ์„ค์ • ๊ธฐ๋Šฅ
    • LoggerId๋ฅผ ์ƒ์† ๋ฐ›์•„ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ, LoggerId์— ๋Œ€ํ•œ ๋™์  ์ถ”๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๊ตฌํ˜„
  • Service
    • SchedulerService
      • ํŠน์ • ์ฃผ๊ธฐ๋งˆ๋‹ค ๋ถˆ๋ ค์ง€๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š” ์„œ๋น„์Šค
  • Util
    • JsonUtil
      • Json์˜ ExtensionData ๋ถ€๋ถ„์„ Populate ํ•ด์ฃผ๋Š” Extend ๊ธฐ๋Šฅ์„ ์œ„ํ•œ ํด๋ž˜์Šค

english

  • BootstrapHelper
    • Helper Class that easily operates with DotNetty basic options
    • Depending on the THandler Type passed to the constructor, a Handler is created for each socket connection.
      • This is the structure and rule of DotNetty, and the Handler should be coded considering that it is created for each connection.
  • Config
    • Literally config file
      • Read from AppSettings.json
      • If there is a property in the configuration file, it can be extended here, and it is okay to write a separate configuration file or create and read a separate class for functions.
        • Because IConfigurationRoot itself allows access to the setting value in the form of a string
  • Handler
    • A class inherited from ChannelHandlerAdapter that receives and handles basic DotNetty events, and an abstract class with some methods designated as abstract.
      • A class that exists to regularize the explicit type of THandler in BootstrapHelper.
  • Logging
    • Setting function for Serilog
    • By inheriting and implementing LoggerId, it is possible to dynamically add LoggerId.
  • Service
    • SchedulerService
      • A service that supports a function called every specific cycle
  • Util
    • JsonUtil
      • A class for the extend function that populates the ExtensionData part of Json.

version history

v1.0.21

use .NET 9 update using packages.

v1.0.20

use .NET 8

v1.0.19

improve logging interface. changed namespace LogConfigration โ†’ Loggers

v1.0.18

Arranged to use serilog default options

v1.0.17

Added file logging configuration from serilog.json.

v1.0.16

added file logging to default option.

v1.0.15

Change private set of Enumeration to set for json deserialize

v1.0.14

Changed Newtonsoft.json to use ZeroFormatter as Protocol function. Changed to a more explicit example where the test client and test server send and receive Protocols directly.

v1.0.13

Remove some logger. Initialize all logger in Loggin.Collection. Need register LoggerId. (Per LoggerId type. Include inheritance)

v1.0.12

Fix invalid namespace. (wrong namespace, sln, csproj word issue)

v1.0.11

Added log level switch function. (SeriLog)

v1.0.10

Added Enumeration Get method.

v1.0.9

Improve Logging Class. (change to use LoggerId)

Product Versions Compatible and additional computed target framework versions.
.NET net9.0 net9.0 is compatible.  net9.0-android net9.0-android was computed.  net9.0-browser net9.0-browser was computed.  net9.0-ios net9.0-ios was computed.  net9.0-maccatalyst net9.0-maccatalyst was computed.  net9.0-macos net9.0-macos was computed.  net9.0-tvos net9.0-tvos was computed.  net9.0-windows net9.0-windows was computed.  net10.0 net10.0 was computed.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.21 342 11/16/2024
1.0.20 331 3/6/2024
1.0.19 568 11/16/2022
1.0.18 498 11/15/2022
1.0.17 631 6/10/2022
1.0.16 642 4/22/2022
1.0.15 622 3/21/2022
1.0.14 706 3/1/2022
1.0.13 628 1/27/2022
1.0.12 591 1/27/2022
1.0.10 603 1/27/2022
1.0.9 642 1/27/2022
1.0.8 481 1/5/2022
1.0.7 480 1/5/2022
1.0.6 486 1/3/2022
1.0.5 477 1/3/2022
1.0.4 480 1/1/2022
1.0.3 491 12/29/2021
1.0.2 472 12/29/2021
1.0.1 476 12/29/2021
Loading failed