Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Twilio客户端JS-重新注册时获取套接字错误_Javascript_Twilio - Fatal编程技术网

Javascript Twilio客户端JS-重新注册时获取套接字错误

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

我有一个使用Twilio客户端JS库的。我将会话长度设置为1小时,以允许分机接收和拨打电话。每次注册令牌过期时,我都会重新注册,一切似乎都正常。如果我在后台页面查看Chrome Dev Tools,我会在控制台中看到:

[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()处理程序中执行任何操作?以下是流程的要点: