NetworkLibrary_PLS 0.0.3
.NET Standard 2.1
This package targets .NET Standard 2.1. The package is compatible with this framework or higher.
.NET Framework 4.7.1
This package targets .NET Framework 4.7.1. The package is compatible with this framework or higher.
dotnet add package NetworkLibrary_PLS --version 0.0.3
NuGet\Install-Package NetworkLibrary_PLS -Version 0.0.3
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="NetworkLibrary_PLS" Version="0.0.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NetworkLibrary_PLS" Version="0.0.3" />
<PackageReference Include="NetworkLibrary_PLS" />
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 NetworkLibrary_PLS --version 0.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NetworkLibrary_PLS, 0.0.3"
#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 NetworkLibrary_PLS@0.0.3
#: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=NetworkLibrary_PLS&version=0.0.3
#tool nuget:?package=NetworkLibrary_PLS&version=0.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
About
C#异步网络框架,加入了mysql数据库支持、MPPC压缩算法的加密解密,RC4对等加密。
How to use
#首先你需要一个IPacket子类
public class WorldPacket : IPacket
{
//操作码
public virtual uint PacketOpcode { get; }
protected ByteBuffer PacketBuffer => byteBuffer;
private ByteBuffer byteBuffer;
public WorldPacket()
{
byteBuffer = new ByteBuffer();
}
//获取包长的方法
public virtual uint GetLength(ByteBuffer buffer)
{
return buffer.ReadUint32();
}
//获取操作码的方法
public virtual uint GetOpcode(ByteBuffer buffer)
{
return buffer.ReadUint32();
}
//解包的方法
public virtual void Read(ByteBuffer buffer)
{
}
//封包的方法
public virtual void Write(ByteBuffer buffer)
{
buffer.WriteUint32(PacketOpcode);
buffer.WriteUint32((uint)byteBuffer.Length);
buffer.Write(byteBuffer.Data);
}
}
#一个BaseSocket<IPacket>的子类
public class WorldSocket : BaseSocket<WorldPacket>
{
public WorldSocket(Socket socket) : base(socket)
{
}
public override void Open()
{
}
public void ProcessWrite(WorldPacket packet)
{
if (packet != null)
{
ByteBuffer byteBuffer = new ByteBuffer();
packet.Write(byteBuffer);
ProcessWrite(byteBuffer.Data);
}
}
}
#一个包处理PacketHandler<IPacket>的子类作为所有包处理函数注册的父类
public abstract class BaseHandler : PacketHandler<WorldPacket>;
#一个启动示例:
public class WorldSocketManager : SocketManager<WorldSocket>
{
public WorldSocketManager() : base()
{
LogManager.Instance.AddLogger(new ConsoleLog());
LogManager.Instance.AddLogger(new FileLog("WorldServer.log"));
}
protected override void SocketAdded(WorldSocket sock)
{
base.SocketAdded(sock);
LogManager.Instance.Log(LogType.Message, $"[{sock.LinkIP}] connected.");
}
protected override void SocketRemoved(WorldSocket sock)
{
base.SocketRemoved(sock);
LogManager.Instance.Log(LogType.Message, $"[{sock.LinkIP}] shut down.");
}
public static void ServerLoop()
{
WorldSocketManager socketManager = new WorldSocketManager();
socketManager.Open("localhost", 20001);
Console.Write("请输入操作(q-退出):");
Console.WriteLine();
while (socketManager.IsRunning())
{
var code = Console.ReadLine().Trim();
switch (code)
{
case "q":
socketManager.Close();
Task.Delay(5000).Wait();
return;
default:
break;
}
}
}
}
#一个包处理函数示例
[PacketHandler((uint)WorldOpCode.Ping)]
private void OnPing(AuthSocket socket, PingPacket packet)
{
}
#nuget 发布到Github.<br> [projectname].[version] 替换为包名 例如我的是NetWorkLibrary.1.0.3<br>
[username] 替换为自己的名字<br> [APIKey] 替换为自己的APIKey<br> ghp-Wk0jbt5rrNy2BJhpise1SQJJoTMLix4btQdO0
dotnet nuget add source --username [username] --password [APIKey] --store-password-in-clear-text --name github "https://nuget.pkg.github.com/[username]/index.json"
dotnet nuget push "bin/release/[projectname].[version].nupkg" -s "github" -k [APIKey] --skip-duplicate
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| .NET Framework | net471 is compatible. net472 was computed. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.7.1
- MySql.Data (>= 9.0.0)
-
.NETFramework 4.8
- MySql.Data (>= 9.0.0)
-
.NETStandard 2.1
- MySql.Data (>= 9.0.0)
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 |
|---|---|---|
| 0.0.3 | 190 | 9/8/2025 |