public abstract class TcpClientBase : SetupConfigObject,
ITcpSession, IClient, IDependencyObject, IDisposableObject, IDisposable,
ILoggerObject, IResolverConfigObject, IConfigObject, IPluginObject, IResolverObject,
IOnlineClient, IClosableClient
Public MustInherit Class TcpClientBase
Inherits SetupConfigObject
Implements ITcpSession, IClient, IDependencyObject, IDisposableObject,
IDisposable, ILoggerObject, IResolverConfigObject, IConfigObject, IPluginObject,
IResolverObject, IOnlineClient, IClosableClient
[<AbstractClassAttribute>]
type TcpClientBase =
class
inherit SetupConfigObject
interface ITcpSession
interface IClient
interface IDependencyObject
interface IDisposableObject
interface IDisposable
interface ILoggerObject
interface IResolverConfigObject
interface IConfigObject
interface IPluginObject
interface IResolverObject
interface IOnlineClient
interface IClosableClient
end
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)) |
Equals | Determines whether the specified object is equal to the current object. (继承自 Object。) |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (继承自 Object。) |
GetHashCode | Serves as the default hash function. (继承自 Object。) |
GetType | Gets the Type of the current instance. (继承自 Object。) |
GetValueTValue |
获取依赖注入的值,当没有注入时,会返回默认行为的值。
(继承自 DependencyObject。) |
HasValueTValue |
判断在当前对象中是否有已设置的属性值。
(继承自 DependencyObject。) |
LoadConfig |
加载配置
(继承自 SetupConfigObject。) |
MemberwiseClone | Creates 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。) |
ToString | Returns 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 定义。) |