问题:
客户端没有收到任何消息。
以下是客户端和服务器的完整代码:
客户端:
以下是客户端和服务器的完整代码:
客户端:
public class Client extends Socket{
public Client(String hostName, int port) throws UnknownHostException, IOException {
super(hostName,port);
BufferedReader in = new BufferedReader(new InputStreamReader(getInputStream()));
while(true) {
String line = in.readLine();
System.out.println("Text received: " + line);
}
}
服务器
public final class Server extends ServerSocket{
public Server(int port) throws IOException {
super(port);
System.out.println("Server waiting for client 1");
Socket client1 = accept();
PrintWriter writer = new PrintWriter(client1.getOutputStream(), true);
writer.write("Hello user 1");
System.out.println("Server waiting for client 2");
Socket client2 = accept();
PrintWriter writer2 = new PrintWriter(client2.getOutputStream(), true);
writer2.write("Hello user 2");
System.out.println("Clients connected");
}
- 我启动服务器监听端口4444
- 我使用主机名“localhost”和端口4444启动客户端
Socket client1 = accept();
后添加一个 println() 语句并查看是否打印。 - Alexander Guyerprintln()
。注意:你的读取循环不够充分。它没有测试流的结束。应该是while ((line = in.readLine()) != null) {...}
。 - user207421