2017-07-03 81 views
0

當我通過websocket發送消息時,是否有反正我可以跟進?我知道我可以在一個隧道中發送消息,並在另一個隧道中收聽響應,但我不明白的是,我將如何以有意義的順序將它們全部取出。下面是一個例子情況:Websocket請求和響應後續處理,超時和錯誤處理

當我點擊我的網頁上的按鈕(加入房間)我發JOIN_ROOM_REQUEST到服務器上的WebSocket。同時我禁用了該按鈕,因爲我不希望用戶再次點擊並在他的加入請求被接受和執行時收到提示。如果一切順利,服務器將通過websocket發送一個事件,以便我現在可以讓用戶加入房間。但是,如果服務器根本沒有響應呢?我將如何處理這種情況?該按鈕處於禁用狀態,並且狀態不能更新回初始狀態。

回答

0

沒有辦法判斷一個消息達成的WebSocket服務器。你將不得不一個ack風格響應添加到您自己的協議,然後重新連接,並不斷重試請求時,ACK沒有一個適當的期限內到達(說幾秒鐘)。