CSoft.TopPortLib 5.1.0

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

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

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设备。做可信赖的智慧工业物联网的生态型伙伴,听一听宇宙终极乐章。

CSoft.Communication.Bluetooth

Package Description

FTIRSpectrometerBusiness

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

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.1.0 3 11/29/2024
9.0.0 197 11/22/2024
8.3.1 1,323 9/3/2024
8.3.0 678 6/28/2024
8.2.9 219 6/25/2024 8.2.9 is deprecated because it is no longer maintained.
8.2.8 168 6/21/2024 8.2.8 is deprecated because it is no longer maintained.
8.2.7 384 6/11/2024 8.2.7 is deprecated because it is no longer maintained.
8.2.6 233 6/7/2024 8.2.6 is deprecated because it is no longer maintained.
8.2.5 150 6/6/2024 8.2.5 is deprecated because it is no longer maintained.
8.2.4 141 6/6/2024 8.2.4 is deprecated because it is no longer maintained.
8.2.3 149 6/6/2024 8.2.3 is deprecated because it is no longer maintained.
8.2.2-pre 103 5/31/2024 8.2.2-pre is deprecated because it is no longer maintained.
8.2.1-pre 107 5/30/2024 8.2.1-pre is deprecated because it is no longer maintained.
8.2.0 141 5/30/2024 8.2.0 is deprecated because it is no longer maintained.
8.1.7 196 5/28/2024 8.1.7 is deprecated because it is no longer maintained.
8.1.6 711 4/30/2024 8.1.6 is deprecated because it is no longer maintained.
8.1.5 183 4/29/2024 8.1.5 is deprecated because it is no longer maintained.
8.1.3 288 4/11/2024 8.1.3 is deprecated because it is no longer maintained.
8.1.2 228 4/10/2024 8.1.2 is deprecated because it is no longer maintained.
8.1.1 182 3/22/2024 8.1.1 is deprecated because it is no longer maintained.
8.1.0 239 3/11/2024 8.1.0 is deprecated because it has critical bugs.
8.0.9 217 2/28/2024 8.0.9 is deprecated because it has critical bugs.
8.0.8 193 2/4/2024 8.0.8 is deprecated because it is no longer maintained.
8.0.7 153 2/4/2024 8.0.7 is deprecated because it has critical bugs.
8.0.6 378 12/28/2023 8.0.6 is deprecated because it is no longer maintained.
8.0.5 160 12/28/2023 8.0.5 is deprecated because it is no longer maintained.
8.0.4 226 12/20/2023 8.0.4 is deprecated because it is no longer maintained.
8.0.3 203 12/14/2023 8.0.3 is deprecated because it is no longer maintained.
8.0.2 188 12/12/2023 8.0.2 is deprecated because it has critical bugs.
8.0.1 399 12/4/2023 8.0.1 is deprecated because it is no longer maintained.
8.0.0 447 11/15/2023 8.0.0 is deprecated because it has critical bugs.
7.0.6 337 9/19/2023 7.0.6 is deprecated because it is no longer maintained.
7.0.5 580 8/28/2023 7.0.5 is deprecated because it has critical bugs.
7.0.4 200 8/17/2023 7.0.4 is deprecated because it is no longer maintained.
7.0.3 2,497 2/28/2023 7.0.3 is deprecated because it is no longer maintained.
7.0.2 526 2/27/2023 7.0.2 is deprecated because it is no longer maintained.
7.0.1 2,077 2/13/2023 7.0.1 is deprecated because it is no longer maintained.
7.0.0 2,822 11/9/2022 7.0.0 is deprecated because it is no longer maintained.
6.6.2 476 10/24/2022 6.6.2 is deprecated because it is no longer maintained.
6.6.1 781 10/17/2022 6.6.1 is deprecated because it is no longer maintained.
6.6.0 453 10/17/2022 6.6.0 is deprecated because it is no longer maintained.
6.5.2 480 10/15/2022 6.5.2 is deprecated because it is no longer maintained.
6.5.1 583 10/15/2022 6.5.1 is deprecated because it is no longer maintained.
6.5.0 752 10/14/2022 6.5.0 is deprecated because it is no longer maintained.
6.4.3 463 10/14/2022 6.4.3 is deprecated because it is no longer maintained.
6.4.2 477 10/14/2022 6.4.2 is deprecated because it is no longer maintained.
6.4.1 476 10/13/2022 6.4.1 is deprecated because it has critical bugs.
6.4.0 465 10/13/2022 6.4.0 is deprecated because it is no longer maintained.
6.3.0 487 10/13/2022 6.3.0 is deprecated because it is no longer maintained.
6.2.6 770 9/30/2022 6.2.6 is deprecated because it is no longer maintained.
6.2.5 454 9/30/2022 6.2.5 is deprecated because it is no longer maintained.
6.2.4 639 9/26/2022 6.2.4 is deprecated because it is no longer maintained.
6.2.3 632 9/23/2022 6.2.3 is deprecated because it is no longer maintained.
6.2.2 544 9/23/2022 6.2.2 is deprecated because it has critical bugs.
6.2.1 527 9/22/2022 6.2.1 is deprecated because it is no longer maintained.
6.2.0 1,215 8/19/2022 6.2.0 is deprecated because it is no longer maintained.
6.1.2 515 8/12/2022 6.1.2 is deprecated because it has critical bugs.
6.1.1 510 5/26/2022 6.1.1 is deprecated because it is no longer maintained.
6.0.9 532 5/19/2022 6.0.9 is deprecated because it has critical bugs.
6.0.5 494 5/17/2022 6.0.5 is deprecated because it is no longer maintained.
6.0.4 506 5/13/2022 6.0.4 is deprecated because it is no longer maintained.
6.0.3 537 3/15/2022 6.0.3 is deprecated because it is no longer maintained.
6.0.2 480 3/15/2022 6.0.2 is deprecated because it is no longer maintained.
6.0.1 651 11/9/2021 6.0.1 is deprecated because it is no longer maintained.
5.1.4 502 8/18/2021 5.1.4 is deprecated because it is no longer maintained.
5.1.3 532 7/8/2021 5.1.3 is deprecated because it is no longer maintained.
5.1.2 485 7/8/2021 5.1.2 is deprecated because it has critical bugs.
5.1.1 408 7/8/2021 5.1.1 is deprecated because it has critical bugs.
5.1.0 619 7/7/2021 5.1.0 is deprecated because it has critical bugs.
5.0.9 520 7/7/2021 5.0.9 is deprecated because it has critical bugs.
5.0.8 591 3/11/2021 5.0.8 is deprecated because it is no longer maintained.
5.0.7 572 1/26/2021 5.0.7 is deprecated because it is no longer maintained.
5.0.6 476 1/23/2021 5.0.6 is deprecated because it is no longer maintained.
5.0.5 521 1/22/2021 5.0.5 is deprecated because it is no longer maintained.
5.0.4 513 1/11/2021 5.0.4 is deprecated because it is no longer maintained.
5.0.3 475 1/11/2021 5.0.3 is deprecated because it is no longer maintained.
5.0.2 547 11/18/2020 5.0.2 is deprecated because it is no longer maintained.
5.0.1 604 11/18/2020 5.0.1 is deprecated because it has critical bugs.
1.0.2 551 11/18/2020 1.0.2 is deprecated because it is no longer maintained.
1.0.1 553 10/12/2020 1.0.1 is deprecated because it has critical bugs.
1.0.0 639 6/30/2020 1.0.0 is deprecated because it has critical bugs.

通讯口使用类库