一款简单易用的基础网络通讯组件库。

TouchSocket.Core 命名空间

 

_LoadedConfigPluginExtensions 定义了一个插件接口,用于在配置加载完成后执行特定操作。
_LoadingConfigPluginExtensions 当正在配置Config时触发。
AdapterOption 适配器配置
AppMessageAttribute 注册为消息
AppMessenger 消息通知类。内部使用弱引用保存订阅者,避免强引用导致的内存泄漏。
AppMessengerExtensions 针对 AppMessenger 的扩展方法,提供基于特性和反射的注册/注销辅助方法。
AspNetCoreConfigExtension AspNetCoreConfigExtension
AspNetCoreLoggerExtension 为 Registrator 提供扩展方法,使其能够注册 AspNetCoreLogger。
AsyncAutoResetEvent 表示一个异步自动重置事件,提供基于Task的异步等待机制。
AsyncExchangeT 精简版线程安全单槽异步交接(单生产者 + 单消费者,不支持并发写队列): 写:一次只能有一个未消费数据,写调用返回的任务在该数据被读取并 Dispose 后完成。 读:无数据则挂起,得到 ReadLease 后需 Dispose 触发写端完成。Complete 后拒绝新写;若无数据则后续 Read 返回完成租约。
AsyncManualResetEvent A flavor of ManualResetEvent that can be asynchronously awaited on.
AsyncQueueT 一个线程安全的、支持异步出队的队列。
AsyncToSyncWarningAttribute 标识方法是异步转换成的同步,所以在特殊平台上,会给出特别建议。
AsyncWaitDataT 表示一个用于异步等待结果的容器,基于 ValueTaskTResult/ IValueTaskSourceTResult 实现。
AuthorizedHelper AuthorizedHelper
AutofacConfigExtension AutofacConfigExtension
AutofacContainer AutofacContainer
ByteBlock 表示一个字节块,提供高效的字节缓冲区操作,支持自动扩容和内存池管理。 实现了IByteBlock接口,线程安全。
ByteBlockBuilderExtension 提供扩展方法以方便地构建字节块。
ByteBlockExtension 提供字节块扩展方法的静态类。
BytesSerializerConverter 字节类转换器
BytesSerializerConverterTState 字节类转换器
CacheEntryTKey, TValue 缓存实体
CacheManagementExtensions CacheExtensions
CircularBufferT 环形缓冲区,固定容量的读写操作。
ClassBytesReader 表示一个基于类的字节读取器,提供对字节序列的读取功能。 继承自DisposableObject并实现IBytesReader接口。
CollectionsExtension CollectionsExtension
ConcurrentDoublyDictionaryTKey, TValue 安全双向字典
ConcurrentListT 线程安全的ListT,其基本操作和ListT一致。
ConcurrentMultiDictionaryTKey1, TKey2, TValue 线程安全的双键字典
ConfigEventArgs 配置事件参数类,继承自PluginEventArgs 该类用于封装配置相关的事件参数,主要携带了TouchSocket配置信息
ConfigObject 具有配置设置的对象
ConsoleAction 控制台行为
ConsoleLogger 控制台日志记录器
Container IOC容器
CoreContainerExtension ContainerExtension
Counter 计数器
Crc Crc相关。

该代码来源于网络

CustomBetweenAndDataHandlingAdapterTBetweenAndRequestInfo 区间数据包处理适配器,支持以任意字符、字节数组起始与结尾的数据包。
CustomBigFixedHeaderDataHandlingAdapterTFixedHeaderRequestInfo 大数据用户自定义固定包头解析器,使用该适配器时,接收方收到的数据中,ByteBlock将为,同时IRequestInfo将实现为TFixedHeaderRequestInfo。
CustomBigUnfixedHeaderDataHandlingAdapterTFixedHeaderRequestInfo 大数据用户自定义固定包头解析器,使用该适配器时,接收方收到的数据中,ByteBlock将为,同时IRequestInfo将实现为TFixedHeaderRequestInfo。
CustomCountSpliterDataHandlingAdapterTCountSpliterRequestInfo 自定义计数分隔符数据处理适配器。
CustomDataHandlingAdapterTRequest 用户自定义数据处理适配器,使用该适配器时,接收方收到的数据中,ByteBlock将为, 同时IRequestInfo将实现为TRequest,发送数据直接发送。
CustomDataHandlingAdapterGroupTRequest 用户自定义数据处理适配器组,用于管理多个自定义数据处理适配器。 该类可以组合多个适配器,并按顺序尝试解析请求信息。
CustomFixedHeaderDataHandlingAdapterTFixedHeaderRequestInfo 用户自定义固定包头解析器,使用该适配器时,接收方收到的数据中,ByteBlock将为,同时IRequestInfo将实现为TFixedHeaderRequestInfo。
CustomJsonDataHandlingAdapterTJsonRequestInfo 自定义 JSON 数据处理适配器。
CustomUnfixedHeaderDataHandlingAdapterTUnfixedHeaderRequestInfo 用户自定义固定包头解析器,使用该适配器时,接收方收到的数据中,ByteBlock将为,同时IRequestInfo将实现为TUnfixedHeaderRequestInfo。
DataHandlingAdapter 数据处理适配器
DataHandlingAdapterExtension DateHandleAdapterExtension
DataHandlingAdapterExtensionExtensions 
DataHandlingAdapterExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
DataHandlingAdapterExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
DataSecurity 数据安全加密
DataValidationAttribute 依赖属性数据验证
DependencyDescriptor 注入依赖对象
DependencyInjectAttribute 指定依赖类型。
DependencyObject 依赖项对象. 线程安全。
DependencyPropertyTValue 依赖属性
DependencyPropertyBase 提供依赖属性(DependencyProperty)的基础实现。
DependencyTypeAttribute 指定依赖类型。
DirectoryUtility DirectoryUtility
DisposableObject 具有释放的对象。内部实现了SuppressFinalize(Object),但不包括析构函数相关。
DmtpConfigExtensionExtensions 
DmtpConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
DmtpConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
DynamicMethodAttribute 定义一个动态方法的特性,可以指导源生代码生成器如何生成动态方法。便于在运行时动态调用。
DynamicMethodMemberAccessor DynamicMethodMemberAccessor
EasyLogger 一个简单的委托日志
EasyMemoryMarshal 提供用于创建 ReadOnlySpanTSpanT 的辅助方法。
EasyTask EasyTask 类简化了对异步任务的处理,提供了简便的静态方法来创建和操作任务。
EasyValueTask 定义了一个简化版本的ValueTask工具类。 该类提供了一些静态方法来创建ValueTask对象,旨在优化性能并简化异步编程。
Enterprise 企业版
EnterpriseEditionAttribute 标识为企业版功能
ExpressionMapper 表达式复制
FastBinaryConverterT 提供了一个抽象类,实现了IFastBinaryConverter接口,用于快速二进制转换。
FastBinaryFormatter 提供快速二进制序列化和反序列化功能的静态工具类。
FastConverterAttribute FastConverterAttribute
FastMemberAttribute 标识Fast序列化成员编号。以此来代替属性、字段名。
FastNonSerializedAttribute 忽略的Fast序列化
FastSerializedAttribute 显式Fast序列化。一般当某个属性为只读时,使用该特性。
FastSerializerContext 快速序列化上下文
FileLogger 文件日志记录器

会在指定目录下,生成logs文件夹,然后按[yyyy-MM-dd].log的形式,每日生成日志

FilePool 文件池。
FileStorage 文件存储器。在该存储器中,读写线程安全。
FileStorageReader 文件读取器
FileStorageStream FileStorageStream。
FileStorageWriter 文件写入器。
FileUtility 文件操作
FixedHeaderPackageAdapter 固定包头适配器。 按照指定的包头类型(Byte、Ushort、Int)进行数据包的长度解析和组包。 支持最小包长度校验,自动处理半包、粘包等情况。
FixedSizePackageAdapter 固定长度包适配器。 用于处理每个数据包长度固定的场景。
FlowGate 流量控制器。
FlowOperator 关于具有流速的操作器。
GlobalEnvironment 全局环境设置
GZip 提供GZip压缩和解压缩功能的静态工具类。
GZipDataCompressor 表示一个GZip数据压缩器,提供基于GZip算法的数据压缩和解压缩功能。 实现了IDataCompressor接口。
HttpConfigExtensionsExtensions 
HttpConfigExtensionsExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
HttpConfigExtensionsExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
HttpPluginManagerExtension HttpPluginManagerExtension
IgnoreCaseNameValueCollection IgnoreCaseNameValueCollection
InstanceCreater 实例生成
IntelligentConcurrentQueueT 智能安全队列
IntelligentDataQueueT 智能数据安全队列
JsonBytesToClassSerializerFormatterTState Json字节转到对应类
JsonMemoryToClassSerializerFormatterTState 定义一个类 JsonMemoryToClassSerializerFormatter,用于将只读内存中的字节序列反序列化为指定的状态类。 该类实现了 ISerializerFormatter 接口,特化于 ReadOnlyMemory{byte} 类型的输入和 TState 类型的输出。
JsonPackage 表示一个 JSON 包。
JsonPackageAdapter 处理 JSON 包的适配器。
JsonRpcConfigExtensionExtensions 
JsonRpcConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
JsonRpcConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
JsonRpcPluginManagerExtension JsonRpc插件管理器扩展
JsonStringToClassSerializerFormatterTState Json字符串转到对应类
LicenceKeyInvalidException 构造函数
Lock lock
LoggerBase 日志基类
LoggerContainerExtension 日志记录器容器扩展类
LoggerExtensions 日志扩展方法
LoggerGroup 一组日志记录器
LoggerGroupTLog1, TLog2 一组日志记录器
LoggerGroupTLog1, TLog2, TLog3 一组日志记录器
LoggerGroupTLog1, TLog2, TLog3, TLog4 一组日志记录器
LoggerGroupTLog1, TLog2, TLog3, TLog4, TLog5 一组日志记录器
LoggerGroupTLog1, TLog2, TLog3, TLog4, TLog5, TLog6 一组日志记录器
LoopAction LoopAction 类用于在指定循环次数和间隔下执行异步操作。 它支持暂停、恢复和重新运行操作。
ManualContainer 手动IOC容器
已过时
Mapper 映射数据
MapperOption 映射配置
MD5 MD5相关操作类
Member 用于表达式树的成员
MemberAccessor 动态成员访问器
MemberAccessorT 动态成员访问器
MemberGetter 表示属性的Getter
MemberSetter 表示属性的设置器
MemoryCacheTKey, TValue 一个简单的内存缓存
MessageInstance MessageInstance
MessageNotFoundException 未找到消息异常类
MessageRegisteredException 消息已注册
Metadata 元数据键值对。
Method 动态方法调用器。
MsgEventArgs 消息事件参数类,继承自PluginEventArgs。 该类用于封装消息相关的数据,在事件处理过程中传递。
MsgPackage 消息包
MsgPermitEventArgs MsgPermitEventArgs 类继承自 PermitEventArgs 类,用于封装消息许可的事件参数
MsgRouterPackage 可承载消息的路由包
MultithreadingDataAdapterTester 多线程数据适配器测试器,用于在多线程环境下测试 UdpDataHandlingAdapter 的性能和正确性。 该类提供了高并发场景下的数据处理适配器测试功能,可以模拟多线程发送和接收数据。
NamedPipeConfigExtensionExtensions 
NamedPipeConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
NamedPipeConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
NameValueCollectionDebugView NameValueCollectionDebugView
OverlengthException 超长异常
PackageBase PackageBase包结构数据。
PackageExtensions PackageExtensions
PackageFastBinaryConverterTPackage 提供用于处理TPackage类型的快速二进制转换器。
PeriodPackageAdapter 周期包适配
PermitEventArgs 具有操作许可的事件参数类
PluginBase PluginBase
PluginEventArgs 插件事件类
PluginManager 表示插件管理器。
PluginManagerExtension PluginManagerExtension
PluginOptionAttribute 插件配置。
Property 表示属性
QueueDataBytes 传输字节
RangeExtension RangeExtension
ReaderExtensionIBytesReader提供扩展方法的静态类,用于读取各种类型的数据。
ReadOnlyMemoryStream 表示一个基于只读内存的流,提供对ReadOnlyMemoryT的流式访问。 继承自Stream类,仅支持读取和定位操作。
ReflectionExtension 反射工具类
ResolverConfigObject 具有IResolver相关成员的配置对象
ResultBase 结果返回
ResultExtensions 
RouterPackage 具有目标id和源id的路由包
RpcPluginManagerExtension RpcPluginManagerExtension
SafetyDisposableObject 线程安全的释放模型。无论是IDisposable还是GC执行,都只会触发1次SafetyDispose(Boolean)方法。
SegmentedBytesWriter 表示一个分段字节写入器,提供高效的多段缓冲区写入功能。
SerializeConvert 高性能序列化器
SerializObject 可序列化对象
SerialPortConfigExtensionExtensions 
SerialPortConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
SerialPortConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
SetupConfigObject 具有设置配置的对象
SetupConfigObjectExtension 提供配置对象的扩展方法。
SingleStreamDataAdapterTester 单线程状况的流式数据处理适配器测试
SingleStreamDataAdapterTesterTAdapter, TRequest 单线程状况的流式数据处理适配器测试
SingleStreamDataHandlingAdapter 单线程状况的流式数据处理适配器。
SingleTimer 不可重入的Timer
SnowflakeIdGenerator 雪花Id生成器(该代码来自网络)
SocketProPluginManagerExtension SocketProPluginManagerExtension
SpanExtensionSpanTReadOnlySpanT提供扩展方法的静态类,用于读写各种类型的数据。
StringExtension StringExtension
StringResStore 字符串资源字典
StringSerializerConverter String类型数据转换器
StringSerializerConverterTState String类型数据转换器
StringToPrimitiveSerializerFormatterTState String值转换为基础类型。
Swap 交换类。功能类似:a=1,b=2,交换后a=2,b=1。
SystemExtension 为System提供扩展。
SystemTextJsonStringToClassSerializerFormatterTState 使用System.Text.Json进行字符串与类之间序列化和反序列化的格式化器。
SystemThreadingExtension SystemThreadingExtension
TcpDataAdapterTester Tcp数据处理适配器测试
TerminatorPackageAdapter 终止符数据包处理适配器,支持以指定终止符(字符或字节数组)结尾的数据包解析。 适用于流式数据协议,自动分包并处理缓存,支持保留终止符选项。
TimeMeasurer 时间测量器
TimeoutTokenSource 带超时功能的取消令牌管理器。
TouchSocketBitConverter 提供了与TouchSocket库相关的字节序列和对象之间的转换功能。
TouchSocketConfig 配置文件基类
TouchSocketConfigExtensionExtensions 
TouchSocketConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
TouchSocketConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
TouchSocketCoreConfigExtension TouchSocketCoreConfigExtension
TouchSocketCoreConfigExtensionExtensions 
TouchSocketCoreConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
TouchSocketCoreConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
TouchSocketCoreUtility 常量
TouchSocketEventArgs 定义TouchSocketEventArgs类,继承自EventArgs,用于处理TouchSocket相关的事件
TouchSocketSerializerConverterTSource, TState TouchSocketSerializerConverter 类用于管理和使用多个 ISerializerFormatter 转换器。
UdpDataAdapterTester Udp数据处理适配器测试
UdpDataHandlingAdapter Udp数据处理适配器
UdpPackage UDP数据包
UdpPackageAdapter UDP数据包的适配器
UnknownErrorException 未知错误异常类,继承自Exception,用于处理未知类型的错误。
WaitDataAsync 等待数据对象
WaitDataAsyncT 等待数据对象
WaitDataStatusExtension WaitDataStatusExtension
WaitHandlePoolT 表示一个等待句柄池,用于管理具有等待功能的对象集合。
WaitPackage WaitPackage
WaitResult 等待返回类
WaitRouterPackage 可等待的路由包。
WebApiPluginManagerExtension WebApi插件管理器扩展
WebSocketConfigExtensionExtensions 
WebSocketConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0 
WebSocketConfigExtensionExtensions<G>$29C48FAADD071351F9EA2F6B5092781F$T0<M>$E7F71401F91FE3D928DDAA2BBB5A2A7A 
WebSocketPluginManagerExtension WebSocketPluginManagerExtension
WrapStream 包装的流。为避免该流释放时,内部流也会被释放的问题
WriterExtensionIBytesWriter提供扩展方法的静态类,用于写入各种类型的数据。
XElementExtension 扩展XElement类,为其添加属性操作相关的方法。
XmlRpcPluginManagerExtension XmlRpc插件管理器扩展
XmlStringToClassSerializerFormatterTState Xml字符串转换器

结构

BitAccessorT 位访问器:用于对非托管类型 T 的位进行读取与设置。
BytesReader 表示一个基于字节序列的高性能字节读取器,提供对ReadOnlySequenceT的读取操作。 实现了IBytesReaderIDisposable接口。
BytesWriter 表示一个基于固定内存的字节写入器,提供高性能的字节缓冲区写入功能。 实现了IBytesWriter接口。
ContiguousMemoryBuffer 表示一个连续内存缓冲区,用于将ReadOnlySequenceT转换为连续的内存块。 实现了IDisposable接口以支持资源释放。
CustomIntEnumerator CustomIntEnumerator
PipeBytesWriter 表示一个基于PipeWriter的字节写入器,提供对管道写入器的高性能包装。 实现了IBytesWriter接口,支持异步刷新操作。
ReadLeaseT 表示读取操作的租约结构体。
ReadLock 读取锁
Result 结果返回
ResultT 表示一个结构化的操作结果,包含操作的返回值、结果代码和消息。
TernaryTKey1, TKey2, TValue 三元组合
UdpFrame UDP数据帧
ValueByteBlock 表示一个值类型的字节块,提供高性能的字节缓冲区操作,避免堆分配开销。 实现了IByteBlock接口。
ValueCounter 值类型计数器,提供基于时间周期的计数功能。 支持线程安全的计数操作,可在达到指定周期时触发回调。
WriteLock 写入锁
WriterAnchorTWriter 表示字节写入器的锚点,用于记录特定位置和获取对应的字节跨度。

接口

IBigFixedHeaderRequestInfo 用户自定义固定包头请求
IBigUnfixedHeaderRequestInfo 用户自定义固定包头请求
IBlockResult 表示一个块操作的结果。
IByteBlock 表示字节块的接口,提供字节缓冲区的读写和管理功能。 继承自IByteBlockReaderIByteBlockWriterIDisposable接口。
IByteBlockCore 表示字节块的核心接口,定义了字节块的基本属性和访问方式。
IByteBlockReader 表示字节块读取器接口,提供字节块的读取功能。 继承自IBytesReaderIByteBlockCore接口。
IByteBlockWriter 表示字节块写入器接口,提供字节块的写入功能和容量管理。 继承自IBytesWriterIByteBlockCore接口。
IBytesBuilder 定义了字节块构建器的接口,用于从内存池中构建和管理字节块。
IBytesReader 表示字节读取器的接口,提供对字节序列的读取、跳过和获取操作。
IBytesWriter 表示一个字节写入器接口,用于提供高性能的字节缓冲区写入功能。 继承自IBufferWriterT接口,扩展了版本控制、计数统计和回退支持等功能。
ICacheTKey, TValue 缓存键值
ICacheAsyncTKey, TValue 缓存键值
ICacheEntry 缓存实体接口
ICacheEntryTKey, TValue 缓存实体接口
IConfigObject 具有配置的对象接口
IContainer 注入容器接口
IDataCompressor 定义数据压缩器的接口,提供数据压缩和解压缩的抽象操作。
IDependencyObject 依赖对象接口
IDisposableObject 具有释放的对象,包含一个DisposedValue来标识是否该对象已被释放。
IDynamicMethodInfo 表示动态方法的信息。
IFastBinaryConverter 定义了快速二进制转换器的接口,用于将对象转换为字节块,反之亦然。
IFixedHeaderRequestInfo 用户自定义固定包头请求
ILoadedConfigPlugin 定义了一个插件接口,用于在配置加载完成后执行特定操作。
ILoadingConfigPlugin 当正在配置Config时触发。
ILog 日志接口
ILoggerObject 具有日志记录器的对象接口
IMemberAccessor 一个成员访问接口
IMessageObject 限定消息的接口
IPackage 包接口规范
IPackageConverterT 定义用于将数据包类型 T 与字节流进行转换的接口。
IPlugin 插件接口
IPluginManager 插件管理器接口
IPluginObject 具有插件功能的对象
IQueueData 队列数据
IReadOnlyMemoryBlockResult 表示一个只读内存块的结果。
IReadonlyRouterPackage 只读的路由包接口
IRegistered IRegistered 接口定义了用于检查类型是否已注册的方法
IRegistrator 容器注册器
IRequestInfo 请求解析对象接口。
IRequestInfoBuilder 指示IRequestInfo应当如何构建
IResolver IResolver 接口定义了如何解析类型实例。 它继承自 IServiceProvider。
IResolverConfigObject 具有IResolver相关成员的配置对象接口
IResolverObject IResolverObject接口定义了一个解析对象的标准,该对象包含一个解析器属性。
IScopedResolver 定义一个作用域解析器接口。
ISerializerFormatterTSource, TState 转换器接口
ISetupConfigObject 具有设置配置的对象接口
IUnfixedHeaderRequestInfo 用户自定义不固定包头请求
IWaitHandle 定义了等待句柄接口,用于同步或异步操作的等待机制。
IWaitResult 等待返回类

委托

PluginEventHandlerTClient, TEventArgs 插件泛型基础事件委托
TouchSocketEventHandlerTClient, TEventArgs TouchSocket基础泛型事件委托

枚举

DependencyType 依赖注入类型。
DynamicBuilderType 动态构建类型
EndianType 大小端类型
FilterResult 过滤结果
FixedHeaderType 固定包头类型
JsonPackageKind 表示 JSON 包的类型。
Lifetime 注入项的生命周期。
LogLevel 日志类型。
MethodReturnKind 表示方法的返回类型。
ResultCode 结果类型
RunStatus 运行状态
SerializationType 序列化类型
TimeoutTokenState 表示超时令牌源的状态。
WaitDataStatus 等待数据状态