NanoTransport 4.5.1

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

NanoTransport

面向 ARM32 嵌入式设备的 .NET 8 TCP 传输层,提供 12 字节协议头、双队列发送(可靠 / 可丢弃)与背压丢弃策略。NanoService 的 RPC 层依赖本包完成消息传输。

安装

dotnet add package NanoTransport

目标框架

  • .NET 8
  • .NET Standard 2.0
  • .NET Standard 2.1
  • .NET Framework 4.6.2

特性

  • 12 字节大端协议头:Magic、TotalLength、ServiceId
  • 可靠队列:队列满时等待,不丢包
  • 可丢弃队列:队列满时丢弃新包并计数
  • 基于 TouchSocket 的 TCP 长连接与自动重连
  • 队列容量、最大包大小与重连开关均可配置

快速开始

设备端连接服务端并发送原始业务包:

using NanoTransport;
using TouchSocket.Sockets;

var client = new NanoTcpClient(new NanoTransportOptions
{
    DroppableCapacity = 1024,
    ReliableCapacity = 64,
    MaxPackageSize = 1024 * 1024
});

await client.ConnectAsync(new IPHost("127.0.0.1:7788"));
client.SendRaw(serviceId, body, allowDrop: true);

云端服务端监听:

using NanoTransport;
using TouchSocket.Sockets;

var server = new NanoTcpService();
await server.StartAsync(new IPHost(7788));

协议

偏移 大小 字段 说明
0 4 Magic 固定 0x5A6C8F01,用于包同步
4 4 TotalLength 整包长度,含 12 字节头
8 4 ServiceId 业务服务标识
12 可变 Body 业务序列化数据

配置

NanoTransportOptions 支持以下选项:

  • DroppableCapacity:可丢弃队列容量,默认 1024
  • ReliableCapacity:可靠队列容量,默认 64
  • MaxPackageSize:最大数据包大小,默认 1MB
  • EnableReconnection:客户端自动重连,默认开启

项目链接

  • 仓库:https://github.com/Txingou/NanoService
  • RPC 层:NanoService
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 is compatible.  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 netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on NanoTransport:

Package Downloads
NanoService

面向 ARM32 嵌入式设备的远程调用框架(RPC 层),支持 net8.0、netstandard2.0、netstandard2.1 与 net462,提供类型安全序列化、ServiceId 路由与统一 TCP 客户端/服务端。

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.5.1 134 8/13/2026
4.5.0 111 8/10/2026