OpenClient
继承自: Disposable
构造函数
public OpenClient(string host, uint port)
openClient = OpenClient(host, port)
创建尚未连接的 OpenClient 实例
- host
- API 端点的主机名
- port
- 主机端口号码
属性
public bool IsCompleted { get; private set; }
value = openClient.IsCompleted
openClient.IsCompleted = value
如果客户端流没有出错完成, 则会返回 True, 否则会是 False
public bool IsTerminated { get; private set; }
value = openClient.IsTerminated
openClient.IsTerminated = value
如果客户端流有任何错误( 例外) , 则此数据会返回 True, 否则是 False
方法
public Task Connect(CancellationToken cancellationToken)
result = openClient.Connect(cancellationToken)
以您指定的方法连接到 API
返回值: 任务
private Task ConnectTcp(CancellationToken cancellationToken)
result = openClient.ConnectTcp(cancellationToken)
通过使用 TCP 客户端连接到 API
返回值: 任务
protected override void DisposeManaged()
openClient.DisposeManaged()
处理客户端, 释放所有使用的资源, 并停止所有运行中的操作
private static int GetLength(byte[] lengthBytes)
result = OpenClient.GetLength(lengthBytes)
返回已收信件的长度而不导致额外分配
- lengthBytes
- 已收到长度数据的字节数组
返回值: 单位
private void OnError(Exception exception)
openClient.OnError(exception)
处理客户端, 然后在排除例外后给每个观察者OnError打电话
- exception
- 例外
private Task ReadTcp(CancellationToken cancellationToken)
result = openClient.ReadTcp(cancellationToken)
这种方法将读取来函的 TCP 流
- cancellationToken
- 用于% ReadAsync++ 呼叫的取消符
返回值: 任务
public Task SendMessage(ProtoMessage message, CancellationToken cancellationToken)
result = openClient.SendMessage(message, cancellationToken)
这种方法会将您的消息插入到信件队列中, 它不会立即发送信件
- message
- 消息
- cancellationToken
返回值: 任务
public Task SendMessage<T>(T message, ProtoOAPayloadType payloadType, string clientMsgId, CancellationToken cancellationToken)
result = openClient.SendMessage(message, payloadType, clientMsgId, cancellationToken)
这种方法会将您的消息插入到信件队列中, 它不会立即发送信件
- message
- 消息
- payloadType
- 信件有效载荷类型(ProtoOAPayloadType)
- clientMsgId
- 客户端消息ID( 可选的)
- cancellationToken
返回值: 任务
public Task SendMessage<T>(T message, string clientMsgId, CancellationToken cancellationToken)
result = openClient.SendMessage(message, clientMsgId, cancellationToken)
这种方法会将您的消息插入到信件队列中, 它不会立即发送消息 通过使用这种超载的 SendMessage 方法,你避免传递消息的有效载荷类型, 它从消息本身得到有效载荷
- message
- 消息
- clientMsgId
- 客户端消息ID( 可选的)
- cancellationToken
返回值: 任务
public Task SendMessage<T>(T message, ProtoPayloadType payloadType, string clientMsgId, CancellationToken cancellationToken)
result = openClient.SendMessage(message, payloadType, clientMsgId, cancellationToken)
这种方法会将您的消息插入到信件队列中, 它不会立即发送信件
- message
- 消息
- payloadType
- 信件有效载荷类型(ProtoPayloadType)
- clientMsgId
- 客户端消息ID( 可选的)
- cancellationToken
返回值: 任务
private void ThrowObjectDisposedExceptionIfDisposed()
openClient.ThrowObjectDisposedExceptionIfDisposed()
如果客户端被处理, 丢出% ObjectDisposedException%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
private Task WriteTcp(byte[] messageByte, CancellationToken cancellationToken)
result = openClient.WriteTcp(messageByte, cancellationToken)
将消息字节写入 TCP 流
- messageByte
- cancellationToken
- 调用流法时使用的取消符
返回值: 任务
事件
public event Action<ProtoMessage> MessageReceived
openClient.MessageReceived += handler
当收到API的邮件时, 将会触发此事件