0
我創建了一個簡單的類,它將一個字符串發送到服務器,兩者都使用Java Sockets API進行通信。服務器讀取客戶端發送的內容,並用另一個字符串進行響應。但客戶端無法讀取該響應。使用Java套接字API讀取服務器響應
這是客戶端類:
import java.io.IOException;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 8181);
socket.getOutputStream().write("Hello".getBytes());
int read;
while ((read = socket.getInputStream().read()) > -1) {
System.out.print((char) read);
}
socket.close();
}
}
這是服務器類:
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8181);
while (true) {
Socket socket = serverSocket.accept();
int read;
while ((read = socket.getInputStream().read()) > -1) {
System.out.print((char) read);
}
socket.getOutputStream().write("Hi!".getBytes());
}
}
}
我想,問題可能出在客戶端執行流程,因爲我不`噸知道我該怎麼做才能等待服務器響應。換句話說,如何實現一個能夠讀取服務器響應的客戶端?
由於while((read = socket.getInputStream()。read())> -1),服務器等待客戶端關閉連接。 –