MessageWebSocket.MessageReceived 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
一个事件,指示在 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、创建新 websocket 并重新连接到服务器来重新建立已知的良好状态。
在调用 ConnectAsync 之前,必须注册所有 MessageReceived 事件处理程序。 之后,即使套接字已关闭,尝试添加或删除 MessageReceived 事件处理程序也会失败并E_ILLEGAL_METHOD_CALL
空消息导致 GetDataReader 返回一个有效的 IDataReader 实例, UnconsumedBufferLength 设置为 0。 GetDataStream 返回生成零字节的有效 IInputStream 实例。