語言

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,建立新 websocket,然後重新連接伺服器,重新建立已知良好狀態。

所有 MessageReceived(訊息接收)事件處理器必須先註冊,才能呼叫 ConnectAsync 。 之後,嘗試新增或移除 MessageReceived 事件處理程序仍會因 E_ILLEGAL_METHOD_CALL 失敗,即使 socket 已關閉

若訊息為空, GetDataReader 會回傳一個有效的 IDataReader 實例,且 UnconsumedBufferLength 設為 0。 GetDataStream 回傳一個有效的 IInputStream 實例,且產生零位元組。

適用於