Websocket:是否可以从程序中了解调用onClose的原因

Websocket:是否可以从程序中了解调用onClose的原因,websocket,jetty,Websocket,Jetty,我有一个示例WebSocket程序,它在下面运行良好 当用户关闭浏览器时,或者如果有任何异常或断开连接,则使用onClose方法 被叫 我的问题是,是否有可能从程序中知道调用onClose的原因是什么?? 请分享你的观点,谢谢阅读 公共类Html5Servlet扩展了WebSocketServlet{ 私有AtomicInteger索引=新的AtomicInteger(); private static final List tickers=new ArrayList(); 静止的{ 添加(“a

我有一个示例WebSocket程序,它在下面运行良好

当用户关闭浏览器时,或者如果有任何异常或断开连接,则使用onClose方法 被叫

我的问题是,是否有可能从程序中知道调用onClose的原因是什么?? 请分享你的观点,谢谢阅读

公共类Html5Servlet扩展了WebSocketServlet{
私有AtomicInteger索引=新的AtomicInteger();
private static final List tickers=new ArrayList();
静止的{
添加(“ajeesh”);
加上(“peeyu”);
添加(“kidillan”);
添加(“恩塔莫”);
}
/**
* 
*/
私有静态最终长serialVersionUID=1L;
公共WebSocket doWebSocketConnect(HttpServletRequest请求,字符串响应){
//System.out.println(“doWebSocketConnect”);
返回新的StockTickerSocket();
}
受保护的字符串getMyJsonTicker()引发异常{
返回“”;
}
公共类StockTickerSocket实现WebSocket.OnTextMessage{
专用连接;
私人定时器;
@凌驾
公共void onClose(int arg0,字符串arg1){
System.out.println(“调用onClose!”+arg0);
}
@凌驾
公共开放(连接){
//System.out.println(“onOpen”);
这个连接=连接;
this.timer=new timer();
}
@凌驾
消息上的公共void(字符串数据){
//System.out.println(“onMessage”);
if(data.indexOf(“断开”)>=0){
connection.close();
timer.cancel();
}否则{
sendMessage();
}           
}
公共空间断开连接(){
System.out.println(“断开调用”);
}
公共空间与断开连接()
{
System.out.println(“调用onDisconnect”);
}
私有void sendMessage(){
if(connection==null | |!connection.isOpen()){
//System.out.println(“连接已关闭!!”;
返回;
}
timer.schedule(新TimerTask(){
@凌驾
公开募捐{
试一试{
//System.out.println(“正在运行的任务”);
sendMessage(getMyJsonTicker());
}
捕获(IOE异常){
e、 printStackTrace();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
},新日期(),5000);
}
}
}

一旦关闭
的签名如下所示

@覆盖
public void onClose(int closeCode,String closeReason){
System.out.println(“调用onClose-statusCode=“+closeCode”);
System.out.println(“reason=“+closeReason”);
}
其中,
int closeCode
是以下任意一种


String closeReason
是可选的()关闭原因消息。

onClose
的签名如下所示

@覆盖
public void onClose(int closeCode,String closeReason){
System.out.println(“调用onClose-statusCode=“+closeCode”);
System.out.println(“reason=“+closeReason”);
}
其中,
int closeCode
是以下任意一种

String closeReason
是可选的()关闭原因消息