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

WebSocketClientBase 类

WebSocket用户终端。

Definition

命名空间: TouchSocket.Http.WebSockets
程序集: TouchSocket.Http (在 TouchSocket.Http.dll 中) 版本:4.0.0-beta.143+5fcca7a4e70968794985dc3793adc50531308be6
C#
public abstract class WebSocketClientBase : HttpClientBase, 
	IWebSocket, IDisposable, IOnlineClient, IClosableClient, IResolverObject, 
	IClient, ILoggerObject, IDisposableObject
Inheritance
Object    DisposableObject    SafetyDisposableObject    DependencyObject    ConfigObject    ResolverConfigObject    SetupConfigObject    TcpClientBase    HttpClientBase    WebSocketClientBase
Derived
Implements
IDisposable, IDisposableObject, ILoggerObject, IResolverObject, IWebSocket, IClient, IClosableClient, IOnlineClient

构造函数

WebSocketClientBase WebSocket用户终端

属性

AllowAsyncRead 允许异步Read读取
Client 使用的Http客户端
ClosedToken 获取一个 CancellationToken,用于指示客户端是否已关闭。
(继承自 TcpClientBase。)
CloseStatus 获取最后WebSocket关闭状态。
Config 配置项
(继承自 SetupConfigObject。)
DataHandlingAdapter 数据处理适配器
(继承自 TcpClientBase。)
DisposedValue 标识该对象是否已被释放
(继承自 DisposableObject。)
IP IP地址
(继承自 TcpClientBase。)
IsClient 表示是否为客户端终端。当为时,表示是客户端。否则为服务器通讯终端。
(继承自 TcpClientBase。)
LastReceivedTime 最后一次接收到数据的时间
(继承自 TcpClientBase。)
LastSentTime 最后一次发送数据的时间
(继承自 TcpClientBase。)
Logger 日志记录器
(继承自 ConfigObject。)
Online 判断是否在线
(重写 TcpClientBaseOnline)
PluginManager 插件管理器
(继承自 SetupConfigObject。)
Port 端口号
(继承自 TcpClientBase。)
Protocol 终端协议
(继承自 TcpClientBase。)
RemoteIPHost 远程IPHost
(继承自 TcpClientBase。)
Resolver 获取解析器实例。
(继承自 SetupConfigObject。)
Transport 获取当前TCP传输层对象。
(继承自 TcpClientBase。)
UseSsl 使用Ssl加密
(继承自 TcpClientBase。)
Version WebSocket版本
WebSocket 实际通讯的WebSocket。

方法

AuthenticateAsync
(继承自 TcpClientBase。)
CloneTo 将当前对象的依赖项克隆到目标对象中
(继承自 DependencyObject。)
CloseAsync(String, CancellationToken) 关闭客户端。
(继承自 TcpClientBase。)
CloseAsync(WebSocketCloseStatus, String, CancellationToken) 异步关闭WebSocket连接。
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。)
HttpConnectAsync 异步连接HTTP服务器,支持代理连接
(继承自 HttpClientBase。)
LoadConfig 加载配置
(继承自 SetupConfigObject。)
MemberwiseCloneCreates a shallow copy of the current Object.
(继承自 Object。)
OnTcpClosed 在连接断开时触发。

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


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

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


(继承自 TcpClientBase。)
OnTcpConnected 建立Tcp连接时触发。

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


(继承自 TcpClientBase。)
OnTcpConnecting 准备连接的时候,此时已初始化Socket,但是并未建立Tcp连接。

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


(继承自 HttpClientBase。)
OnTcpReceived 当收到适配器处理的数据时。
(重写 TcpClientBaseOnTcpReceived(ReceivedDataEventArgs))
OnTcpReceiving 当收到原始数据时,触发相关插件进行处理。
(继承自 TcpClientBase。)
OnTcpSending 当即将发送时,如果覆盖父类方法,则不会触发插件。
(继承自 TcpClientBase。)
OnWebSocketClosed 当 WebSocket 连接关闭时触发的事件处理程序。
OnWebSocketClosing 在WebSocket关闭时触发的事件处理程序。
OnWebSocketConnected 表示完成握手后。
OnWebSocketConnecting 表示在即将握手连接时。
OnWebSocketReceived 当收到WS数据时。
PingAsync 异步发送Ping请求。
PongAsync 异步执行Pong操作。
ProtectedClearReceiver 清除内部接收器。
(继承自 TcpClientBase。)
ProtectedCreateReceiver 创建内部接收器。
(继承自 TcpClientBase。)
ProtectedRequestAsync 异步发送Http请求,并仅等待响应头
(继承自 HttpClientBase。)
ProtectedSendAsync(IRequestInfo, CancellationToken) 异步发送请求信息的受保护方法。 此方法首先检查当前对象是否能够发送请求信息,如果不能,则抛出异常。 如果可以发送,它将使用数据处理适配器来异步发送输入请求。
(继承自 TcpClientBase。)
ProtectedSendAsync(ReadOnlyMemoryByte, CancellationToken) 异步发送数据,通过适配器模式灵活处理数据发送。
(继承自 TcpClientBase。)
ProtectedWebSocketConnectAsync 异步建立 WebSocket 连接。
ReadAsync 异步等待读取数据
ReceiveLoopAsync 数据接收主循环,负责从传输层读取数据并分发给适配器或插件。
(继承自 HttpClientBase。)
RemoveValueTValue 移除属性值。
(继承自 DependencyObject。)
SafetyDispose 线程安全模式的释放,无论是IDisposable还是GC执行,都只会触发一次
(继承自 HttpClientBase。)
SendAsync(ReadOnlyMemoryByte, Boolean, CancellationToken) 异步发送指定的字节内存数据。
SendAsync(String, Boolean, CancellationToken) 异步发送文本消息。
SendAsync(WSDataFrame, Boolean, CancellationToken) 采用WebSocket协议,发送WS数据。发送结束后,请及时释放WSDataFrame
SetAdapter 设置适配器。
(继承自 TcpClientBase。)
SetupAsync 异步配置设置项
(继承自 SetupConfigObject。)
SetValueTValue 设置依赖注入的值,如果值已经存在,将被覆盖。
(继承自 DependencyObject。)
TcpConnectAsync 此方法会一直抛出异常,请使用HttpConnectAsync(CancellationToken)进行连接
(继承自 HttpClientBase。)
已过时
ThrowIfClientNotConnected 如果TCP客户端未连接,则抛出异常。
(继承自 TcpClientBase。)
ThrowIfConfigIsNull 如果Config为空,则抛出ArgumentNullException的异常。
(继承自 ConfigObject。)
ThrowIfDisposed 判断当前对象是否已经被释放。 如果已经被释放,则抛出ObjectDisposedException异常。
(继承自 DisposableObject。)
ToStringReturns a string that represents the current object.
(继承自 Object。)
TryGetValueTValue 尝试获取依赖注入的值,当没有注入时,会返回
(继承自 DependencyObject。)
TryRemoveValueTValue 尝试重置属性值,如果没有这个值,则返回
(继承自 DependencyObject。)

扩展方法

GetMessageCombinator 获取消息合并器。
(由 WebSocketExtension 定义。)
Map 将源对象的属性映射到目标对象的属性中。
(由 Mapper 定义。)
Map 将源对象映射到目标类型的实例。
(由 Mapper 定义。)
MapTTarget 将源对象映射到指定目标类型的新实例。
(由 Mapper 定义。)
ReadBinaryAsync 异步读取完整二进制数据。

注意:该访问调用时如果收到非二进制数据则会抛出异常。同时,该方法不可在IWebSocket的接收数据事件(插件)中使用。 相关用法请按照ReadAsync(CancellationToken)进行。


(由 WebSocketExtension 定义。)
ReadBinaryAsync 异步读取完整二进制数据。

注意:该访问调用时如果收到非二进制数据则会抛出异常。同时,该方法不可在IWebSocket的接收数据事件(插件)中使用。 相关用法请按照ReadAsync(CancellationToken)进行。


(由 WebSocketExtension 定义。)
ReadStringAsync 异步读取完整字符串。

注意:该访问调用时如果收到非字符串数据则会抛出异常。同时,该方法不可在IWebSocket的接收数据事件(插件)中使用。 相关用法请按照ReadAsync(CancellationToken)进行。


(由 WebSocketExtension 定义。)
ReadStringAsync 异步读取完整字符串。

注意:该访问调用时如果收到非字符串数据则会抛出异常。同时,该方法不可在IWebSocket的接收数据事件(插件)中使用。 相关用法请按照ReadAsync(CancellationToken)进行。


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

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


(由 SystemExtension 定义。)
SendAsync 异步发送数据帧。
(由 WebSocketClientExtension 定义。)
ToJsonString 转换为Json
(由 SerializeConvert 定义。)

参见