NetPs.Socket 1.0.31029

dotnet add package NetPs.Socket --version 1.0.31029
                    
NuGet\Install-Package NetPs.Socket -Version 1.0.31029
                    
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="NetPs.Socket" Version="1.0.31029" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NetPs.Socket" Version="1.0.31029" />
                    
Directory.Packages.props
<PackageReference Include="NetPs.Socket" />
                    
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 NetPs.Socket --version 1.0.31029
                    
#r "nuget: NetPs.Socket, 1.0.31029"
                    
#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 NetPs.Socket@1.0.31029
                    
#: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=NetPs.Socket&version=1.0.31029
                    
Install as a Cake Addin
#tool nuget:?package=NetPs.Socket&version=1.0.31029
                    
Install as a Cake Tool

简介

NetPs基类,对原始的System.Net.Socket类进行简单封装。

其中为队列byte流提供类QueueStream类,实现了Enqueue\Dequeue。

ISocketUri增加了任意地址的解析。

该库支持提前预热来加快首次运行速度,可以通过调用方法进行使用 NetPs.Socket.Eggs.Food.Heating();

How To Use?

  • 01. SocketCore
class Host : SocketCore
{
//...
}
  • 02. IQueueStream
var queue = new QueueStream();

queue.Enqueue(new byte[] { 1,2,3});
var buf1 = queue.Dequeue(1); // [1]
var buf2 = queue.Dequeue(2); // [2,3]
  • 03. InsideSocketUri / SocketUri (defualt use InsideSocketUri)
var uri1 = new SocketUri("[::]:1025");//IPv6Any
var uri2 = new SocketUri("0.0.0.0:1025");//Any
var uri3 = new SocketUri("[::1]:1025");//IPv6Loopback
var uri4 = new SocketUri("127.0.0.1:1025");//Loopback

!SocketUri 基于System.Uri,Linux下有可能发生ICU package not installed.

  • 04. PingClient / PingV6Client
var client = new PingClient(3000, 8192); // max wait 3 second; receive buffer 8192 byte;
var packet = new PingPacket(PingPacket.DATA_32, PingPacketKind.Request)
{
    Address = InsideSocketUri.ParseIPAddress("127.0.0.1")
};
var rlt = await client.Ping(packet);
// ipv6
var v6client = new PingV6Client(3000, 8192); // max wait 3 second; receive buffer 8192 byte;
packet.Address = InsideSocketUri.ParseIPAddress("::1");
var rlt = await v6client.Ping(packet);
  • 05. Security

提供了MD2\MD4\MD5\MD6、SHA0\SHA1\SHA2\SHA3、SM3加密类。

示例为SM3的一项测试。

string text, outtext;
text = "abc";

outtext = new SM3().Make(Encoding.ASCII.GetBytes(text));
Debug.Assert(outtext == "66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0");

<u>NetPs以实现现有网络协议库为目标,为数据交互提供基础支撑。</u>

Product 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 net35-cf is compatible. 
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 3.5 CompactFramework

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on NetPs.Socket:

Package Downloads
NetPs.Udp

.net network protocols library;

NetPs.Tcp

.net network protocols library;

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.31029 364 10/29/2023
1.0.30918.1 245 9/18/2023
1.0.30901 248 9/1/2023
1.0.30829 280 8/29/2023
1.0.30823 261 8/23/2023
1.0.30805 253 8/5/2023