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,然後重新連接伺服器,重新建立已知良好狀態。
所有 MessageReceived(訊息接收)事件處理器必須先註冊,才能呼叫 ConnectAsync 。 之後,嘗試新增或移除 MessageReceived 事件處理程序仍會因 E_ILLEGAL_METHOD_CALL 失敗,即使 socket 已關閉
若訊息為空, GetDataReader 會回傳一個有效的 IDataReader 實例,且 UnconsumedBufferLength 設為 0。 GetDataStream 回傳一個有效的 IInputStream 實例,且產生零位元組。