Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.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
通过Asterisk Java检测与Asterisk的连接状态_Java_Connection_Asterisk_Status_Asteriskami - Fatal编程技术网

通过Asterisk Java检测与Asterisk的连接状态

通过Asterisk Java检测与Asterisk的连接状态,java,connection,asterisk,status,asteriskami,Java,Connection,Asterisk,Status,Asteriskami,在星号中是否有方法,如何检测管理器与星号的连接的正确状态?(我的观点是关于连接星号失败的通知) 我正在为我们的java应用程序实现可视化指示(使用Asterisk java库),但是从我的角度来看,它并不像人们所期望的那样工作 在ManagerConnection上有一个方法getStatus(),但即使我断开网络电缆,结果始终是连接的。我还没有观察到任何我可以使用的类似方法。简单方法: 将extensions.conf中的全局变量PING设置为1 通过manager获取全局变量值。如果不是1

在星号中是否有方法,如何检测管理器与星号的连接的正确状态?(我的观点是关于连接星号失败的通知) 我正在为我们的java应用程序实现可视化指示(使用Asterisk java库),但是从我的角度来看,它并不像人们所期望的那样工作

ManagerConnection
上有一个方法
getStatus()
,但即使我断开网络电缆,结果始终是连接的。我还没有观察到任何我可以使用的类似方法。

简单方法:

  • 将extensions.conf中的全局变量PING设置为1
  • 通过manager获取全局变量值。如果不是1,请重新连接

我承认,这是一个简单的解决方案,而且行之有效。然而,它也是最丑陋的一个。如果没有连接,我会得到ManagerCommunicationException,这意味着我正在使用异常处理来处理我的常规工作流。还有一些不是那么简单,但更合适的解决方案吗?我不明白处理异常的问题是什么。很抱歉,我不熟悉java,也不熟悉您的java库。您还可以阅读库代码(它是开源的)并添加连接检查例程。或者聘请专家来教您如何处理java异常/扩展java类。:)事实并非如此,我不知道如何在java中处理异常-我对它们太了解了。这就是我想要避免它们的原因——我不想为常规工作流使用异常(断开连接就是这样)。见和。我只是希望有人能想出一个主意,为什么调用ManagerConnection.getStatus()在一段时间后不会返回DISCONNECTED,或者产生类似的smthg。我不理解您的问题。询问库开发人员为什么这样做,或者重写源代码,这是开源的。