MessageWebSocket.MessageReceived Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Событие, указывающее, что сообщение получено в объекте MessageWebSocket .
// Register
event_token MessageReceived(TypedEventHandler<MessageWebSocket, MessageWebSocketMessageReceivedEventArgs const&> const& handler) const;
// Revoke with event_token
void MessageReceived(event_token const* cookie) const;
// Revoke with event_revoker
MessageWebSocket::MessageReceived_revoker MessageReceived(auto_revoke_t, TypedEventHandler<MessageWebSocket, MessageWebSocketMessageReceivedEventArgs const&> const& handler) const;
public event TypedEventHandler<MessageWebSocket,MessageWebSocketMessageReceivedEventArgs> MessageReceived;
function onMessageReceived(eventArgs) { /* Your code */ }
messageWebSocket.addEventListener("messagereceived", onMessageReceived);
messageWebSocket.removeEventListener("messagereceived", onMessageReceived);
- or -
messageWebSocket.onmessagereceived = onMessageReceived;
Public Custom Event MessageReceived As TypedEventHandler(Of MessageWebSocket, MessageWebSocketMessageReceivedEventArgs)
Тип события
Комментарии
Все ошибки, связанные с обработкой сообщений и подключением, передаются с помощью методов GetDataReader и GetDataStream . Если любой из этих методов создает исключение, это означает, что либо базовое подключение разорвано, либо сервер отправил недопустимые данные, такие как поврежденные заголовки HTTP или сообщение, размер которого превышает максимальный размер сообщения. Правильное действие для вашего кода перед лицом исключения из этих методов — восстановить известное состояние работоспособности путем закрытия websocket, создания нового и повторного подключения к серверу.
Перед вызовом ConnectAsync необходимо зарегистрировать все обработчики событий MessageReceived. После этого попытка добавить или удалить обработчик событий MessageReceived завершится сбоем с E_ILLEGAL_METHOD_CALL даже после закрытия сокета.
Пустое сообщение приводит к тому, что GetDataReader возвращает допустимый экземпляр IDataReader с UnconsumedBufferLength значением 0. GetDataStream возвращает допустимый экземпляр IInputStream , который возвращает ноль байтов.