. net Класс WebSocketClient ConnectAsyn c выдает ошибку "Не удается получить доступ к удаленному объекту ClientWebSocket '." - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь непрерывно прослушивать сервер для установления соединения, чтобы всякий раз, когда сервер был доступен, клиент устанавливал соединение.

Пример кода следующий:

internal async Task ConnectAsync()
{
    try
    {
        if (myWebSocketClient.State != WebSocketState.Open)
        {
            myWebSocketClient.ConnectAsync(InitUri(), CancellationToken.None).Wait(myCancellationToken);
            OnConnectionChange(true, aNumberOfConnectionTries);
        }
    }
    catch (Exception aException)
    {
        Console.WriteLine("An error occured while connecting to server {0}", aException);
        OnConnectionChange(false, aNumberOfConnectionTries);
        aNumberOfConnectionTries++;
        await ConnectAsync();
    }
}

Впервые появляется сообщение об ошибке «Невозможно подключиться к удаленному серверу», что имеет смысл, так как сервер недоступен. Но в следующий раз я получаю сообщение об ошибке "" Невозможно получить доступ к удаленному объекту. \ R \ nИмя объекта: 'System. Net .WebSockets.ClientWebSocket'. "

Я понимаю ошибку, но не понимаю Я не понимаю, почему объект клиента удаляется. Является ли объект клиента действительным только для одного запроса на подключение.

Я попытался создать новый объект клиента websocket внутри метода connect, в этом случае он работает хорошо.

Я хочу понять это поведение. Пожалуйста, поймите, что я новичок в программировании сокетов.

...