Обработчик сообщения pong в клиенте WampSharp
У меня есть клиент WampSharp, который успешно пингует мой сервер Wamp WS, созданный на python, каждую 1 минуту.
Я отправляю сообщение pong с сервера клиенту при получении пинга.
Я хотел бы знать, есть ли какой-либо обработчик, который будет обрабатывать получение сообщения pong в клиенте WampSharp, чтобы я мог выполнять определенные задачи на стороне клиента?
И если нет никакого отдельного обработчика для сообщения pong, то есть ли какой-либо обработчик для обработки данных, полученных с сервера, как в традиционном клиенте WebSocket, который выглядит следующим образом?
webSocket.MessageReceived += new EventHandler<MessageReceivedEventArgs>(webSocket_MessageReceived);
Заранее спасибо.
1 ответ
Я только что загрузил в NuGet версию WampSharp, которая позволяет вам указать базовый WebSocket, который вы хотите использовать для WampChannel.
Использование:
DefaultWampChannelFactory factory = new DefaultWampChannelFactory();
WebSocket socket = new WebSocket("ws://localhost:9090/ws", "wamp");
IWampChannel<JToken> channel = factory.CreateChannel(socket);
socket.DataReceived += OnDataReceived;
await channel.OpenAsync();
Как видите, вы также можете подписаться на базовые события WebSocket. Мне это не очень нравится, так как это удаляет инкапсуляцию WampSharp WebSocket, но если вы знаете, что делаете, я вас не остановлю.