Как обрабатывать ошибки и закрытие соединения с помощью WampSharp

Я работал с WampSharp, то есть клиентской библиотекой, предоставленной для соединения с webbcket wamp autobahn.

Я успешно подключился к веб-розетке Autobahn Wamp, которую я создал в python, используя клиентское приложение.Net, используя следующий код (используя WampSharp):

DefaultWampChannelFactory channelFactory = new DefaultWampChannelFactory();
channel = channelFactory.CreateChannel(serverAddress);
channel.Open();

здесь serverAddress: 127.0.0.1:8000 (т.е. мой websocket начинается с номера порта 8000 моей локальной машины).

Я использую механизм pubsub для обмена данными, предоставляемыми autobahn wamp websocket, используя следующий код:

public void Subscribe()
{
    ISubject<string> subscribe1 = channel.GetSubject<string>(@"simple/topicSubject1");
    IDisposable subject1 = subscribe1.Subscribe(msg => MessageRecieved(msg));
}

public void Publish()
{
    ISubject<string> subjectForPublish = channel.GetSubject<string>(@"simple/topicSubject1");
    subjectForPublish.OnNext(sd.SerializeObject(DataToPublish));
}

Все эти процессы выполнены успешно. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти никаких обработчиков для обработки ошибок и потери соединения, как мы это делаем в традиционной веб-розетке. В традиционном websocket у нас есть обработчики, такие как:

webSocket.Error += new EventHandler<SuperSocket.ClientEngine.ErrorEventArgs>(webSocket_Error);
webSocket.Closed += new EventHandler(webSocket_Closed); 

Мне нужно для достижения вышеуказанной функциональности с помощью Wampsharp.

Заранее спасибо.

1 ответ

Решение

Попробуй это:

DefaultWampChannelFactory factory = new DefaultWampChannelFactory();
IWampChannel<JToken> channel = factory.CreateChannel("ws://localhost:9090/ws");

IWampClientConnectionMonitor monitor = channel.GetMonitor();
monitor.ConnectionError += ConnectionError;
monitor.ConnectionEstablished += ConnectionEstablished;
monitor.ConnectionLost += ConnectionLost;

await channel.OpenAsync();
Другие вопросы по тегам