Java 异步套接字客户端
我正在开发一个基于线程的异步套接字客户端。当程序调用readLine时,它会无限期地阻塞,并且永远不会返回Java 异步套接字客户端,java,android,sockets,asynchronous,Java,Android,Sockets,Asynchronous,我正在开发一个基于线程的异步套接字客户端。当程序调用readLine时,它会无限期地阻塞,并且永远不会返回 public class ADNClient { Socket socket = null; DataOutputStream dataOutputStream = null; DataInputStream dataInputStream = null; Thread listener = new Thread(new Runnable() { @Overri
public class ADNClient {
Socket socket = null;
DataOutputStream dataOutputStream = null;
DataInputStream dataInputStream = null;
Thread listener = new Thread(new Runnable() {
@Override
public void run() {
String line;
try {
// Stop here and doesn't progress
while ((line = dataInputStream.readLine()) != null) {
//DO something
}
}
catch (IOException e) {}
});
public ADNClient() {
try {
socket = new Socket("192.168.1.5", 5000);
dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataInputStream = new DataInputStream(socket.getInputStream());
listener.start();
//sender.start();
} catch (Exception e) {
Log.e("ADN", e.getMessage());
}
}
public void close() {
listener.stop();
try {
socket.close();
} catch (IOException e) {
Log.e("ADN", e.getMessage());
}
}
}
好的。。。我是输入/输出流的noob。。。我没有发送换行符,接收信息的正确方法是使用
readUTF()
而不是
readLine()
谢谢格雷格·科普夫 您正在向客户端发送哪些数据?是否以换行符结尾?