【发布时间】:2016-09-23 10:44:27
【问题描述】:
我正在开发一个安卓应用程序。该应用程序充当客户端。它不断地向服务器发送一些数据(假设每半秒后)。服务器正在我的 PC 上运行。如何从我的应用程序中检测到服务器已关闭,以便通知用户?下面是我将数据从客户端发送到服务器的代码:
Socket socket = null;
PrintWriter out = null;
try {
socket = new Socket(ip, PORT);
out = new PrintWriter(socket.getOutputStream(), true);
out.println(myMessage);
}
catch (IOException e) {
e.printStackTrace();
}
【问题讨论】:
-
这段代码后面还有什么继续使用
socket的吗? -
是的,我继续使用 out.println() 发送消息。我在另一个线程中执行此操作,每半秒后继续发送消息。
-
@caburse 我已经研究了这两个链接,但我无法在我的场景中实现它。
-
连接不存在时会出现异常。但不能保证连接仍然存在,因为您还没有得到连接。为此,您必须实现某种心跳(例如,让您的服务器每 10 秒发送一次
"ping"并在套接字上设置读取超时 + 简单地使您获得的数据无效)