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

NamedPipeDmtpClient 类

基于命名管道的DMTP客户端实现。

Definition

命名空间: TouchSocket.Dmtp
程序集: TouchSocketPro.Dmtp (在 TouchSocketPro.Dmtp.dll 中) 版本:4.0.0-beta.143+5fcca7a4e70968794985dc3793adc50531308be6
C#
public class NamedPipeDmtpClient : NamedPipeClientBase, 
	INamedPipeDmtpClient, IDmtpClient, IDmtpActorObject, IResolverObject, IDependencyClient, 
	IDependencyObject, IDisposableObject, IDisposable, IClient, ILoggerObject, 
	IClosableClient, ISetupConfigObject, IResolverConfigObject, IConfigObject, IPluginObject, 
	IConnectableClient, IIdClient, IOnlineClient
Inheritance
Object    DisposableObject    SafetyDisposableObject    DependencyObject    ConfigObject    ResolverConfigObject    SetupConfigObject    NamedPipeClientBase    NamedPipeDmtpClient
Implements
IDisposable, IConfigObject, IDependencyObject, IDisposableObject, ILoggerObject, IPluginObject, IResolverConfigObject, IResolverObject, ISetupConfigObject, IDmtpActorObject, IDmtpClient, INamedPipeDmtpClient, IClient, IClosableClient, IConnectableClient, IDependencyClient, IIdClient, IOnlineClient

备注

此类继承自NamedPipeClientBase,实现了INamedPipeDmtpClient接口, 提供了通过命名管道进行DMTP协议通信的完整客户端功能。 支持连接管理、数据传输、路由功能以及各种DMTP特性。

构造函数

NamedPipeDmtpClient初始化 NamedPipeDmtpClient 类的一个新实例

属性

ClosedToken 获取一个 CancellationToken,用于指示客户端是否已关闭。
(继承自 NamedPipeClientBase。)
Config 配置项
(继承自 SetupConfigObject。)
DataHandlingAdapter 数据处理适配器
(继承自 NamedPipeClientBase。)
DisposedValue 标识该对象是否已被释放
(继承自 DisposableObject。)
DmtpActor 获取DMTP功能组件实例。
Id 获取客户端的唯一标识符。
IsClient 表示是否为客户端终端。当为时,表示是客户端。否则为服务器通讯终端。
(继承自 NamedPipeClientBase。)
LastReceivedTime 最后一次接收到数据的时间
(继承自 NamedPipeClientBase。)
LastSentTime 最后一次发送数据的时间
(继承自 NamedPipeClientBase。)
Logger 日志记录器
(继承自 ConfigObject。)
Online 获取一个值,指示客户端是否处于在线状态。
(重写 NamedPipeClientBaseOnline)
PluginManager 插件管理器
(继承自 SetupConfigObject。)
Protocol 终端协议
(继承自 NamedPipeClientBase。)
Resolver 获取解析器实例。
(继承自 SetupConfigObject。)

方法

CloneTo 将当前对象的依赖项克隆到目标对象中
(继承自 DependencyObject。)
CloseAsync 异步关闭客户端连接。
(重写 NamedPipeClientBaseCloseAsync(String, CancellationToken))
ConnectAsync 异步建立基于命名管道的DMTP连接。
Dispose 释放资源。内部已经处理了SuppressFinalize(Object)
(继承自 DisposableObject。)
Dispose(Boolean) 处置资源
(继承自 SafetyDisposableObject。)
EqualsDetermines whether the specified object is equal to the current object.
(继承自 Object。)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(继承自 Object。)
GetHashCodeServes as the default hash function.
(继承自 Object。)
GetTypeGets the Type of the current instance.
(继承自 Object。)
GetValueTValue 获取依赖注入的值,当没有注入时,会返回默认行为的值。
(继承自 DependencyObject。)
HasValueTValue 判断在当前对象中是否有已设置的属性值。
(继承自 DependencyObject。)
LoadConfig 加载配置
(重写 SetupConfigObjectLoadConfig(TouchSocketConfig))
MemberwiseCloneCreates a shallow copy of the current Object.
(继承自 Object。)
OnConnected 当完成握手连接时触发的事件处理方法。
OnConnecting 即将开始握手连接时触发的事件处理方法。
OnCreateChannel 当创建通道时触发的事件处理方法。
OnDmtpClosed 当DMTP连接关闭后触发的事件处理方法。
OnDmtpClosing 当DMTP连接即将被关闭时触发的事件处理方法。
OnNamedPipeClosed 断开连接。在客户端未设置连接状态时,不会触发
(重写 NamedPipeClientBaseOnNamedPipeClosed(ClosedEventArgs))
OnNamedPipeClosing 即将断开连接(仅主动断开时有效)。
(重写 NamedPipeClientBaseOnNamedPipeClosing(ClosingEventArgs))
OnNamedPipeConnected 已经建立管道连接
(继承自 NamedPipeClientBase。)
OnNamedPipeConnecting 准备连接的时候
(重写 NamedPipeClientBaseOnNamedPipeConnecting(ConnectingEventArgs))
OnNamedPipeReceived 处理已接收到的数据。

根据不同的数据处理适配器,会传递不同的数据


(重写 NamedPipeClientBaseOnNamedPipeReceived(ReceivedDataEventArgs))
OnNamedPipeReceiving 当收到原始数据
(继承自 NamedPipeClientBase。)
OnNamedPipeSending 触发命名管道发送事件的异步方法。
(继承自 NamedPipeClientBase。)
OnRouting 当需要转发路由包时触发的事件处理方法。
PipeConnectAsync 建立管道的连接。
(继承自 NamedPipeClientBase。)
ProtectedClearReceiver
(继承自 NamedPipeClientBase。)
ProtectedCreateReceiver
(继承自 NamedPipeClientBase。)
ProtectedSendAsync(IRequestInfo, CancellationToken) 异步发送请求信息的受保护方法。 此方法首先检查当前对象是否能够发送请求信息,如果不能,则抛出异常。 如果可以发送,它将使用数据处理适配器来异步发送输入请求。
(继承自 NamedPipeClientBase。)
ProtectedSendAsync(ReadOnlyMemoryByte, CancellationToken) 异步发送数据,通过适配器模式灵活处理数据发送。
(继承自 NamedPipeClientBase。)
ReceiveLoopAsync 数据接收主循环,负责从传输层读取数据并分发给适配器或插件。
(继承自 NamedPipeClientBase。)
RemoveValueTValue 移除属性值。
(继承自 DependencyObject。)
ResetIdAsync 异步重置客户端标识符。
SafetyDispose 线程安全模式的释放,无论是IDisposable还是GC执行,都只会触发一次
(重写 NamedPipeClientBaseSafetyDispose(Boolean))
SetAdapter 设置适配器
(继承自 NamedPipeClientBase。)
SetupAsync 异步配置设置项
(继承自 SetupConfigObject。)
SetValueTValue 设置依赖注入的值,如果值已经存在,将被覆盖。
(继承自 DependencyObject。)
ThrowIfConfigIsNull 如果Config为空,则抛出ArgumentNullException的异常。
(继承自 ConfigObject。)
ThrowIfDisposed 判断当前对象是否已经被释放。 如果已经被释放,则抛出ObjectDisposedException异常。
(继承自 DisposableObject。)
ToStringReturns a string that represents the current object.
(继承自 Object。)
TryGetValueTValue 尝试获取依赖注入的值,当没有注入时,会返回
(继承自 DependencyObject。)
TryRemoveValueTValue 尝试重置属性值,如果没有这个值,则返回
(继承自 DependencyObject。)

扩展方法

ChannelExisted 判断指定Id的通道是否已经存在
(由 DmtpActorExtension 定义。)
Connect 同步执行连接操作。
(由 ClientExtension 定义。)
ConnectAsync 异步连接
(由 ClientExtension 定义。)
CreateChannel 在当前对点创建一个随机Id的通道
(由 DmtpActorExtension 定义。)
CreateChannel 在当前对点创建一个指定Id的通道
(由 DmtpActorExtension 定义。)
CreateChannel 在指定路由点创建一个随机Id的通道
(由 DmtpActorExtension 定义。)
CreateChannel 在指定路由点创建一个指定Id的通道
(由 DmtpActorExtension 定义。)
CreateChannelAsync 在当前对点创建一个随机Id的通道
(由 DmtpActorExtension 定义。)
CreateChannelAsync 在当前对点创建一个指定Id的通道
(由 DmtpActorExtension 定义。)
CreateChannelAsync 在指定路由点创建一个随机Id的通道
(由 DmtpActorExtension 定义。)
CreateChannelAsync 在指定路由点创建一个指定Id的通道
(由 DmtpActorExtension 定义。)
CreateTargetDmtpRpcActor 新创建一个直接向目标地址请求的IDmtpRpcActor客户端。
(由 DmtpRpcActorExtension 定义。)
GetDmtpFileTransferActorIDmtpActorObject中获取能实现文件传输的IDmtpFileTransferActor
(由 DmtpFileTransferActorExtension 定义。)
GetDmtpRedisActor 获取IDmtpRedisActor
(由 DmtpRedisActorExtensions 定义。)
GetDmtpRemoteStreamActorIDmtpActorObject中获取IDmtpRemoteStreamActor
(由 DmtpRemoteStreamExtension 定义。)
GetDmtpRouterPackageActorIDmtpActorObject中获取IDmtpRouterPackageActor
(由 DmtpRouterPackageExtension 定义。)
GetDmtpRpcActorIDmtpActorObject中获取IDmtpRpcActor,以实现Rpc调用功能。
(由 DmtpRpcActorExtension 定义。)
GetDmtpRpcActorTDmtpRpcActorIDmtpActorObject中获取继承实现IDmtpRpcActor的功能件,以实现Rpc调用功能。
(由 DmtpRpcActorExtension 定义。)
GetRemoteAccessActor 获取远程访问的IDmtpRemoteAccessActor
(由 DmtpRemoteAccessExtension 定义。)
Map 将源对象的属性映射到目标对象的属性中。
(由 Mapper 定义。)
Map 将源对象映射到目标类型的实例。
(由 Mapper 定义。)
MapTTarget 将源对象映射到指定目标类型的新实例。
(由 Mapper 定义。)
PingAsync 向当前对点发送一个Ping报文,并且等待回应。
(由 DmtpActorExtension 定义。)
PingAsync 向指定路由点发送一个Ping报文,并且等待回应。
(由 DmtpActorExtension 定义。)
SafeDispose 安全性释放(不用判断对象是否为空)。不会抛出任何异常。

内部会判断DisposedValue的值,如果为,则不会再执行Dispose


(由 SystemExtension 定义。)
SafeDispose 安全性释放(不用判断对象是否为空)。不会抛出任何异常。
(由 SystemExtension 定义。)
SendAsync 异步发送空数据
(由 DmtpActorExtension 定义。)
SendAsync 异步发送估计大小小于64K的IPackage。 此方法重载允许指定自定义最大传输单元大小。
(由 DmtpActorExtension 定义。)
SendAsync 异步发送数据
(由 DmtpActorExtension 定义。)
SendAsync 异步发送数据包。 此方法扩展了IDmtpActorObject接口,使其具有发送数据包的能力。
(由 DmtpActorExtension 定义。)
Setup 同步配置方法。 使用给定的配置对象进行设置。
(由 SetupConfigObjectExtension 定义。)
ToJsonString 转换为Json
(由 SerializeConvert 定义。)
TryConnect 同步执行连接操作。不会抛出异常。
(由 ClientExtension 定义。)
TryConnectAsync 尝试连接。不会抛出异常。
(由 ClientExtension 定义。)
TrySendAsync 异步尝试发送数据给指定的客户端。
(由 DmtpActorExtension 定义。)
TrySendAsync 异步尝试发送数据。
(由 DmtpActorExtension 定义。)
TrySendAsync 异步尝试发送一个估计大小小于64K的IPackage
(由 DmtpActorExtension 定义。)
TrySendAsync 异步尝试发送数据包。 此方法通过指定的协议将数据包发送到客户端。 它使用估计的最大数据包大小来优化内存申请。
(由 DmtpActorExtension 定义。)
TrySubscribeChannel 尝试订阅已存在的通道。
(由 DmtpActorExtension 定义。)

参见