Javascript Twilio客户端JS-重新注册时获取套接字错误
我有一个使用Twilio客户端JS库的。我将会话长度设置为1小时,以允许分机接收和拨打电话。每次注册令牌过期时,我都会重新注册,一切似乎都正常。如果我在后台页面查看Chrome Dev Tools,我会在控制台中看到:Javascript Twilio客户端JS-重新注册时获取套接字错误,javascript,twilio,Javascript,Twilio,我有一个使用Twilio客户端JS库的。我将会话长度设置为1小时,以允许分机接收和拨打电话。每次注册令牌过期时,我都会重新注册,一切似乎都正常。如果我在后台页面查看Chrome Dev Tools,我会在控制台中看到: [Device] Received error: Object {code: 31205, message: "JWT Token Expired"} 这就是我想知道何时重新注册的错误。每次我这样做,就在错误之前,我看到: WebSocket is already in CL
[Device] Received error:
Object {code: 31205, message: "JWT Token Expired"}
这就是我想知道何时重新注册的错误。每次我这样做,就在错误之前,我看到:
WebSocket is already in CLOSING or CLOSED state.
平均重复40次,然后显示我的扩展重新注册正常。大约每第五个周期,我就会看到一个短暂的爆发:
Object {code: 31204, message: "Cannot register. Token not validated"}
一天大概5-6次见:
Object {message: "Unable to determine account.", code: 401, rt.message: "error"}
我的主要问题是我是否在某个地方处于比赛状态?我通过处理Twilio.Device.error事件,然后调用Twilio.Device.destroy()然后等待3秒钟,重新生成JWT并调用Twilio.Device.setup()来确定何时重新注册 听起来这可能是一种比赛条件。在看不到您正在运行的具体内容的情况下,我可以猜测一下您可能会尝试修复什么
Twilio.Device.disconnectAll()
希望这有帮助 谢谢你,但我已经给大家打电话了。我想我已经把问题缩小到:当令牌过期时,Twilio.Device.error()会触发,在那里我检查错误,并调用Twilio Device.setup()。然后,Twilio.Device.offline()启动,我也通过调用setup来处理这个问题。当我这样做的时候,我从来没有得到一个就绪事件,所以我不知道设备处于什么状态。我是否不应该在Device.offline()处理程序中执行任何操作?以下是流程的要点: