我正在使用netty websocket(java)连接到asterisk媒体服务器并从服务器接收事件。但是,在某些事件之后,websocket停止运行,应用程序冻结。我的问题是websocket是否会阻塞,或者websocket停止使用的可能原因是什么?
taor4pac1#
理性可以是任何东西。其中包括:由于防火墙或网络拥塞,网络/tcp套接字冻结星号重新启动或星号中有错误java库中的bug。最现实的选择是每x秒发送一次ping事件,或者发起一次假呼叫来触发事件。这叫做心跳。若你们并没有得到超过y秒的心跳响应,重启连接。
1条答案
按热度按时间taor4pac1#
理性可以是任何东西。其中包括:
由于防火墙或网络拥塞,网络/tcp套接字冻结
星号重新启动或星号中有错误
java库中的bug。
最现实的选择是每x秒发送一次ping事件,或者发起一次假呼叫来触发事件。这叫做心跳。若你们并没有得到超过y秒的心跳响应,重启连接。