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),服务器等待客户端关闭连接。 –