ublic class ClientTest { public static void main(String[] args) throws Exception, IOException { int PORT = 8888; // 侦听端口 // 建立连接 IP地址为127.0.0.1,端口号:8888 Socket socket =new ServerSocket().accept(); // 从网络套接字获取输出流,建立打印输出流 PrintWriter netOut = new PrintWriter( socket.getOutputStream() ); netOut.write("hello\n"); netOut.flush(); // 从网络套接字获取输入数据流,建立缓冲输入流 BufferedReader netIn = new BufferedReader(new InputStreamReader(socket.getInputStream() )); System.out.println(netIn.readLine()); } }
时间: 2024-02-14 18:17:23 浏览: 69
对不起,这段代码是错误的,因为 `ServerSocket` 对象是用于服务器端侦听端口的,而在客户端代码中,应该使用 `Socket` 对象来与服务器端建立连接。
正确的代码应该是:
```
public class ClientTest {
public static void main(String[] args) throws Exception, IOException {
int PORT = 8888; // 服务器端口号
String ipAddress = "127.0.0.1"; // 服务器 IP 地址
// 建立连接
Socket socket = new Socket(ipAddress, PORT);
// 从网络套接字获取输出流,建立打印输出流
PrintWriter netOut = new PrintWriter(socket.getOutputStream());
netOut.write("hello\n");
netOut.flush();
// 从网络套接字获取输入数据流,建立缓冲输入流
BufferedReader netIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(netIn.readLine());
// 关闭连接
netIn.close();
netOut.close();
socket.close();
}
}
```
这段代码建立了一个与服务器端端口号为 8888 的服务器建立连接的客户端,并向服务器端发送消息 "hello",然后等待服务器端的响应并将其打印到控制台上。最后,关闭了输入流、输出流和套接字。
阅读全文