CSoft.TopPortLib 5.1.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package CSoft.TopPortLib --version 5.1.1
NuGet\Install-Package CSoft.TopPortLib -Version 5.1.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="CSoft.TopPortLib" Version="5.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CSoft.TopPortLib --version 5.1.1
#r "nuget: CSoft.TopPortLib, 5.1.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.
// Install CSoft.TopPortLib as a Cake Addin
#addin nuget:?package=CSoft.TopPortLib&version=5.1.1

// Install CSoft.TopPortLib as a Cake Tool
#tool nuget:?package=CSoft.TopPortLib&version=5.1.1

Communication

通讯库

用法详见例子

一、为什么要分割数据包

因为通信的时候,接收到的数据是一个连续的数据流。我们需要从中获取到一个完整的数据包。

二、分割一个数据包的几种方式

1.包头和包尾

例子

头:01 02 尾:04 06(以后的例子中的头和尾都用01 02 和 04 06) 一个完整的数据包 01 02 xx xx … xx 04 06

安全性问题

如果对方只发送了包头,然后一直发送垃圾数据,这些数据中不包含包尾。我们的程序无法丢弃这些垃圾数据,这会导致占用内存越来越大,最终导致程序崩溃

2.包尾

例子

一个完整的数据包 xx xx … xx 04 06

安全性问题

如果对方一直发送垃圾数据,这些数据中不包含包尾。我们的程序无法丢弃这些垃圾数据,这会导致占用内存越来越大,最终导致程序崩溃

3.包头和长度

例子

一个完整的数据包 01 02 03 05 07 其中01 02 是包头(TCP可以不带包头),03代表长度(也可以传入指定长度)。比如协议规定,除包头以外,还有长度为3的数据,本例中是03 05 07。

安全性问题

如果对方一直发送垃圾数据,这些数据中不包含包头。我们的程序可以移除这些无效数据,这样不会使内存占用变大。所以推荐使用这种分割数据包的方式

4.时间

这种方式用于串口通信。不会产生垃圾数据占用内存的问题。一定时间内(比如Modbus是200ms)收到的数据作为一个完整的数据包

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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 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.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on CSoft.TopPortLib:

Package Downloads
CSoft.Protocol.ProtocolInterface

协议接口

FTIRSpectrometerCore

基于设备私有网络应用层通信协议开发为傅里叶红外光谱产品服务的配套模块库

GalaxySmartDeviceCore

如果银河系有旋律,星星一定是发光的IoT设备。做可信赖的智慧工业物联网的生态型伙伴,听一听宇宙终极乐章。

FTIRSpectrometerBusiness

傅里叶红外光谱商用库是为傅里叶红外光谱产品服务的配套模块,基于设备私有网络应用层通信协议开发。它提供了一组功能强大的接口和工具,方便用户对傅里叶红外光谱产品进行操作和控制,具有高度可定制、高效稳定、易于使用、灵活可扩展等特点。

CSoft.Communication.Bluetooth

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.2.7 119 6/11/2024
8.2.6 154 6/7/2024
8.2.5 104 6/6/2024
8.2.4 94 6/6/2024
8.2.3 91 6/6/2024
8.2.2-pre 67 5/31/2024
8.2.1-pre 74 5/30/2024
8.2.0 91 5/30/2024
8.1.7 128 5/28/2024
8.1.6 457 4/30/2024
8.1.5 136 4/29/2024
8.1.3 213 4/11/2024
8.1.2 162 4/10/2024
8.1.1 140 3/22/2024
8.1.0 173 3/11/2024
8.0.9 168 2/28/2024
8.0.8 142 2/4/2024
8.0.7 115 2/4/2024
8.0.6 298 12/28/2023
8.0.5 127 12/28/2023
8.0.4 161 12/20/2023
8.0.3 167 12/14/2023
8.0.2 151 12/12/2023
8.0.1 309 12/4/2023
8.0.0 361 11/15/2023
7.0.6 245 9/19/2023
7.0.5 441 8/28/2023
7.0.4 169 8/17/2023
7.0.3 2,171 2/28/2023
7.0.2 476 2/27/2023
7.0.1 1,835 2/13/2023
7.0.0 2,603 11/9/2022
6.6.2 439 10/24/2022
6.6.1 734 10/17/2022
6.6.0 417 10/17/2022
6.5.2 443 10/15/2022
6.5.1 556 10/15/2022
6.5.0 702 10/14/2022
6.4.3 435 10/14/2022
6.4.2 440 10/14/2022
6.4.1 446 10/13/2022
6.4.0 437 10/13/2022
6.3.0 453 10/13/2022
6.2.6 722 9/30/2022
6.2.5 418 9/30/2022
6.2.4 603 9/26/2022
6.2.3 603 9/23/2022
6.2.2 516 9/23/2022
6.2.1 494 9/22/2022
6.2.0 1,151 8/19/2022
6.1.2 470 8/12/2022
6.1.1 478 5/26/2022
6.0.9 503 5/19/2022
6.0.5 458 5/17/2022
6.0.4 477 5/13/2022
6.0.3 507 3/15/2022
6.0.2 449 3/15/2022
6.0.1 619 11/9/2021
5.1.4 469 8/18/2021
5.1.3 503 7/8/2021
5.1.2 453 7/8/2021
5.1.1 371 7/8/2021
5.1.0 584 7/7/2021
5.0.9 486 7/7/2021
5.0.8 557 3/11/2021
5.0.7 541 1/26/2021
5.0.6 437 1/23/2021
5.0.5 482 1/22/2021
5.0.4 472 1/11/2021
5.0.3 431 1/11/2021
5.0.2 506 11/18/2020
5.0.1 574 11/18/2020
1.0.2 520 11/18/2020
1.0.1 520 10/12/2020
1.0.0 605 6/30/2020

通讯口使用类库