[英]Read server response using Java Sockets API
我创建了一个简单的类,该类将字符串发送到服务器,两者均使用Java Sockets 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());
}
}
}
我认为问题可能出在客户端执行流程中,因为我不知道如何才能等待服务器响应。 换句话说,如何实现一个能够读取服务器响应的客户端?
您需要刷新或关闭输出流。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.