我有一个用Java编写的小套接字服务器。我的应用程序基本上从Socket读取数据并将其写入输出。无论如何,当我尝试使用readUTF()
函数从Socket读取数据时,它只是导致主线程等待,然后在第二个连接处给出EOFException但是如果我使用DataInputStream.readLine()
函数它正在工作。< /强>
我的代码readUTF()
:
private static PrintStream console = System.out;
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
ServerSocket serverSocket = new ServerSocket(5112);
console.println("Server Started !");
while(true){
console.println("Loop");
Socket client = serverSocket.accept();
console.println("Processing Request");
DataInputStream in = new DataInputStream(client.getInputStream());
console.println("Proccessing in");
console.println("Available : " + in.available());
console.println("Request Body : \n");
String str = in.readUTF(in);
console.println(str);
console.println("Waiting for new !");
}
}
输出是:
Server Started !
Loop
Processing Request
Proccessing in
Available : 0
Request Body :