Websocket请求&响应跟进,超时和错误处理

时间:2017-07-03 11:25:56

标签: javascript websocket

当我通过websocket发送消息时,无论如何我是否可以跟进响应?我知道我可以在一个隧道中发送消息并在另一个隧道中听取响应,但我不明白的是我将如何以有意义的顺序获取它们。以下是一个示例案例:

当我点击我的网页上的一个按钮(加入房间)时,我将JOIN_ROOM_REQUEST发送到服务器上的websocket。同时我禁用了按钮,因为我不希望用户再次单击并在接受并执行其加入请求时被提示。如果一切顺利,服务器将通过websocket发送一个事件,以便我现在可以让用户加入房间。但是,如果服务器根本没有响应怎么办?我该如何处理这种情况?该按钮被禁用,状态无法更新回其初始状态。

1 个答案:

答案 0 :(得分:0)

无法判断消息是否通过WebSocket传到服务器。您必须在自己的协议中添加ack样式响应,然后在ack未在适当的时间限制内(例如几秒钟)到达时重新连接并重试请求。