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

TcpClientBase 类

TcpClientBase类是作为一个抽象基类设计的,它继承自SetupConfigObject,并实现了ITcpSession接口。 这个类的主要目的是为TCP会话相关的操作提供一个基础框架,同时整合了配置设定的功能。

Definition

命名空间: TouchSocket.Sockets
程序集: TouchSocket (在 TouchSocket.dll 中) 版本:3.0.0+ccaf96084d09f972257496d1dd63b8ba3c1e44f0
C#
public abstract class TcpClientBase : SetupConfigObject, 
	ITcpSession, IClient, IDependencyObject, IDisposableObject, IDisposable, 
	ILoggerObject, IResolverConfigObject, IConfigObject, IPluginObject, IResolverObject, 
	IOnlineClient, IClosableClient
Inheritance
Object    DisposableObject    DependencyObject    ConfigObject    ResolverConfigObject    SetupConfigObject    TcpClientBase
Derived
更多
Implements
IDisposable, IConfigObject, IDependencyObject, IDisposableObject, ILoggerObject, IPluginObject, IResolverConfigObject, IResolverObject, IClient, IClosableClient, IOnlineClient, ITcpSession

构造函数

TcpClientBase 构造函数用于初始化TcpClientBase类的实例。

属性

Config 配置项
(继承自 SetupConfigObject。)
DataHandlingAdapter 数据处理适配器
DisposedValue 标识该对象是否已被释放
(继承自 DisposableObject。)
IP IP地址
IsClient 表示是否为客户端终端。当为时,表示是客户端。否则为服务器通讯终端。
LastReceivedTime 最后一次接收到数据的时间
LastSentTime 最后一次发送数据的时间
Logger 日志记录器
(继承自 ConfigObject。)
MainSocket 主通信器
Online 判断是否在线
PluginManager 插件管理器
(继承自 SetupConfigObject。)
Port 端口号
Protocol 终端协议
RemoteIPHost 
Resolver 获取解析器实例。
(继承自 SetupConfigObject。)
UseSsl 使用Ssl加密

方法

Abort 中止连接。
CloneTo 将当前对象的依赖项克隆到目标对象中
(继承自 DependencyObject。)
CloseAsync 关闭客户端。
Dispose 释放资源。内部已经处理了SuppressFinalize(Object)
(继承自 DisposableObject。)
Dispose(Boolean) 处置资源
(重写 SetupConfigObjectDispose(Boolean))
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 加载配置
(继承自 SetupConfigObject。)
MemberwiseCloneCreates a shallow copy of the current Object.
(继承自 Object。)
OnTcpClosed 在连接断开时触发。

如果重写此方法,则不会触发ITcpClosedPlugin插件。

OnTcpClosing 即将断开连接(仅主动断开时有效)。

覆盖父类方法,将不会触发ITcpClosingPlugin插件。

OnTcpConnected 建立Tcp连接时触发。

覆盖父类方法,将不会触发ITcpConnectedPlugin插件。

OnTcpConnecting 准备连接的时候,此时已初始化Socket,但是并未建立Tcp连接。

覆盖父类方法,将不会触发ITcpConnectingPlugin插件。

OnTcpReceived 当收到适配器处理的数据时。
OnTcpReceiving 当收到原始数据时,触发相关插件进行处理。
OnTcpSending 当即将发送时,如果覆盖父类方法,则不会触发插件。
ProtectedClearReceiver 
ProtectedCreateReceiver 
ProtectedDefaultSendAsync 异步发送数据,保护方法。 此方法用于在已建立的TCP连接上异步发送数据。 它首先检查当前实例是否已被弃用,然后检查客户端是否已连接。 如果这些检查通过,它将调用OnTcpSending事件处理程序进行预发送处理, 最后通过TCP核心发送数据。
ProtectedSendAsync(IListArraySegmentByte) 异步发送数据。 如果数据处理适配器不存在或无法拼接发送,则将所有传输字节合并到一个连续的内存块中发送。 如果数据处理适配器存在且支持拼接发送,则直接发送传输字节列表。
ProtectedSendAsync(IRequestInfo) 异步发送请求信息的受保护方法。 此方法首先检查当前对象是否能够发送请求信息,如果不能,则抛出异常。 如果可以发送,它将使用数据处理适配器来异步发送输入请求。
ProtectedSendAsync(ReadOnlyMemoryByte) 异步发送数据,通过适配器模式灵活处理数据发送。
RemoveValueTValue 移除属性值。
(继承自 DependencyObject。)
SetAdapter 设置适配器。
SetupAsync 异步配置设置项
(继承自 SetupConfigObject。)
SetValueTValue 设置依赖注入的值,如果值已经存在,将被覆盖。
(继承自 DependencyObject。)
TcpConnectAsync 异步连接服务器
ThrowIfConfigIsNull 如果Config为空,则抛出ArgumentNullException的异常。
(继承自 ConfigObject。)
ThrowIfDisposed 判断当前对象是否已经被释放。 如果已经被释放,则抛出ObjectDisposedException异常。
(继承自 DisposableObject。)
ToStringReturns a string that represents the current object.
(继承自 Object。)
TryGetValueTValue 尝试获取依赖注入的值,当没有注入时,会返回
(继承自 DependencyObject。)
TryRemoveValueTValue 尝试重置属性值,如果没有这个值,则返回
(继承自 DependencyObject。)

扩展方法

CloseWithTLV 使用TLV格式关闭TCP会话
(由 TLVClientExtensions 定义。)
CloseWithTLVAsync 发送TLV的Close报文,然后关闭当前客户端
(由 TLVClientExtensions 定义。)
Map
(由 Mapper 定义。)
Map
(由 Mapper 定义。)
MapTTarget
(由 Mapper 定义。)
PingWithTLV 发送Tag为Ping的报文,然后等待Pong回应。

当适配器不是TLVDataHandlingAdapter时,会抛出异常。


(由 TLVClientExtensions 定义。)
SafeDispose 安全性释放(不用判断对象是否为空)。不会抛出任何异常。

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


(由 SystemExtension 定义。)
SafeDispose 安全性释放(不用判断对象是否为空)。不会抛出任何异常。
(由 SystemExtension 定义。)
ToJsonString 转换为Json
(由 SerializeConvert 定义。)

参见