客户机向服务器发送字符串“要看银山拍天浪“,服务器回送字符串“开窗放入大江来”,给出java实现代码
时间: 2024-01-06 20:06:29 浏览: 29
以下是一个简单的 Java 实现,其中使用了 Socket 类与 InputStream/OutputStream 对象将字符串转换为字节流进行传输。
服务器端代码:
```java
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) throws IOException {
int port = 9999;
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("等待客户端连接...");
Socket clientSocket = serverSocket.accept();
System.out.println("客户端已连接:" + clientSocket.getRemoteSocketAddress());
InputStream input = clientSocket.getInputStream();
OutputStream output = clientSocket.getOutputStream();
byte[] buffer = new byte[1024];
int len = input.read(buffer);
String request = new String(buffer, 0, len);
String response;
if (request.equals("要看银山拍天浪")) {
response = "开窗放入大江来";
} else {
response = "未知请求";
}
output.write(response.getBytes());
clientSocket.close();
}
}
```
客户端代码:
```java
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) throws IOException {
String host = "127.0.0.1";
int port = 9999;
Socket clientSocket = new Socket(host, port);
OutputStream output = clientSocket.getOutputStream();
String request = "要看银山拍天浪";
output.write(request.getBytes());
InputStream input = clientSocket.getInputStream();
byte[] buffer = new byte[1024];
int len = input.read(buffer);
String response = new String(buffer, 0, len);
System.out.println(response);
clientSocket.close();
}
}
```
当客户端运行时,它将连接到指定的服务器地址和端口,并发送一个包含字符串“要看银山拍天浪”的请求。服务器将接收该请求并根据请求内容作出响应,最后将响应发送回客户端。客户端将接收响应并将其打印到控制台上。