我有一个在后台运行的Android服务,它将使用以下代码:
while(true)
{
ServerSocket server = new ServerSocket(1234);
Socket server_socket = server.accept();
}如果此循环在server.accept();停止,直到客户端连接到服务,是否会影响电池寿命?
我阅读了文档,但我无法找到关于accept();如何等待请求的明确答案。
如果这不是让android设备等待套接字连接请求的最好方法,那么有没有人能介绍一下更好的方法呢?
发布于 2014-03-28 22:13:49
accept()是一个阻塞调用。
您可以通过设置http://download.java.net/jdk7/archive/b123/docs/api/java/net/ServerSocket.html#setSoTimeout(int)来控制它阻塞的时间
在您的代码中,一旦接受了Socket server_socket = server.accept();,就立即处理它。我希望情况并非如此,您实际上启动了一个线程来处理连接
https://stackoverflow.com/questions/22715180
复制相似问题