我正在开发一个应用程序,我在其中维护了与服务器的无限套接字连接。它始终工作得非常好,除非设备处于空闲模式较长时间,比如30分钟左右。 30分钟后,如果我将设备带到唤醒状态,并尝试联系服务器thro'我的应用程序它不会抛出任何异常。这告诉我我的套接字连接处于静止状态。但是当我在服务器端检查时,这里没有收到相同的数据。所以我无法理解android方面是否存在已知问题或者我在这里做错了什么。下面是我用来设置套接字的代码片段。
Socket socket = new Socket(url, port);
String request = "some request";
outputStream = socket.getOutputStream();
outputStream.write(request.getBytes());
outputStream.flush();
InputStream is = socket.getInputStream();
while (true) {
StringBuffer sb = new StringBuffer();
int ch = is.read();
while (ch != -1) {
sb.append((char) ch);
ch = is.read();
}
}
答案 0 :(得分:1)
您需要发送应用程序级别保持活动以维护套接字连接。 以下是一个示例:http://devtcg.blogspot.com/2009/01/push-services-implementing-persistent.html
答案 1 :(得分:0)