安卓 Java Socket编程:检测客户端和服务器是否连接
我正在开发一个安卓应用程序。该应用程序正在充当客户端。它不断地向服务器发送一些数据(比如说每半秒一次)。服务器正在我的电脑上运行。如何从我的应用程序中检测到服务器已关闭,以便我可以通知用户此情况?下面是我将数据从客户端发送到服务器的代码:
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();
}
# 1 楼答案
PrintWriter
吞噬异常。不要在网络代码中使用它。使用BufferedWriter
。如果服务器已断开连接,发送时将出现异常。。。但由于TCP缓冲,不能立即执行