处理客户端断开/关闭套接字

时间:2013-05-19 18:11:57

标签: java json sockets google-chrome-app

我正在编写Chrome打包应用程序并使用chrome.sockets API。后端是用Java编写的。

当我关闭Chrome应用中的套接字并检查状态时,它表示就我的打包应用而言已断开连接。

chrome.socket.disconnect(this.getSocketId());
chrome.socket.destroy(this.getSocketId());

但是我的Java后端不会抛出错误并且在读取时被阻止。我正在通过Gson库阅读,我认为这是问题的一部分。无论出于何种原因,在这种情况下它无法处理套接字关闭。我发现这有点奇怪,因为我的测试Java客户端工作正常并且可以断开连接。

如果我通过InputStreamReader.read()阅读,结果将是-1,根据文档显示流的结尾(我认为这意味着它确定套接字已关闭)。

  

JsonReader reader = new JsonReader(new   InputStreamReader(socket.getInputStream(),“UTF-8”))

     

//它会阻止此次通话

     

JsonMessage message = gson.fromJson(reader,JsonMessage.class);

如何在Java应用程序中处理此断开连接并仍然能够读取JSON消息?

0 个答案:

没有答案