OpenClient
Наследует: Disposable
Конструкторы
public OpenClient(string host, uint port)
openClient = OpenClient(host, port)
Создает экземпляр OpenClient, который еще не подключен
- host
- Имя хоста API endpoint
- port
- Номер порта хоста
Свойства
public string Host { get; }
value = openClient.Host
Конечный хост API, к которому подключен текущий клиент
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 uint Port { get; }
value = openClient.Port
Порт хоста API, к которому подключен текущий клиент
Методы
public Task Connect(CancellationToken cancellationToken)
result = openClient.Connect(cancellationToken)
Подключается к API на основе указанного вами способа
Возвращает: Задача
private Task ConnectTcp(CancellationToken cancellationToken)
result = openClient.ConnectTcp(cancellationToken)
Подключается к API с помощью клиента TCP
Возвращает: Задача
protected override void DisposeManaged()
openClient.DisposeManaged()
Утилизирует клиента, высвобождает все использованные ресурсы и останавливает все запущенные операции.
private static int GetLength(byte[] lengthBytes)
result = OpenClient.GetLength(lengthBytes)
Возвращает длину полученного сообщения, не вызывая дополнительного распределения.
- lengthBytes
- Байтовый массив принимаемых данных о длине
Возвращает: инт
private void OnCompleted()
openClient.OnCompleted()
Завершает каждого наблюдателя, позвонив по их методу OnCompleted
private void OnError(Exception exception)
openClient.OnError(exception)
Утилизирует клиента, а затем вызывает каждого наблюдателя OnError после того, как выкинуто исключение.
- exception
- Исключение
private Task ReadTcp(CancellationToken cancellationToken)
result = openClient.ReadTcp(cancellationToken)
Этот метод будет читать поток TCP для входящих сообщений.
- cancellationToken
- Токен отмены, который будет использоваться на ReadAsync Calls
Возвращает: Задача
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.