利用Java语言提供的Socket技术,建立一个C/S模式的应用,允许客户端用户输入2个整数,服务器端接收这2个整数,并计算出它们的和、差、积、商,最后送回客户端。
时间: 2024-02-23 14:58:33 浏览: 122
好的,我可以为您解答这个问题。首先,需要分别编写客户端和服务器端的代码。
服务器端代码如下:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器端已启动,等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接:" + socket.getInetAddress().getHostAddress());
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
String line;
while ((line = in.readLine()) != null) {
System.out.println("客户端发送的内容为:" + line);
String[] nums = line.split(" ");
int num1 = Integer.parseInt(nums[0]);
int num2 = Integer.parseInt(nums[1]);
int add = num1 + num2;
int sub = num1 - num2;
int mul = num1 * num2;
int div = num1 / num2;
out.println(add + " " + sub + " " + mul + " " + div);
}
socket.close();
serverSocket.close();
}
}
```
客户端代码如下:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 8888);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String line;
while ((line = input.readLine()) != null) {
String[] nums = line.split(" ");
int num1 = Integer.parseInt(nums[0]);
int num2 = Integer.parseInt(nums[1]);
out.println(num1 + " " + num2);
String result = in.readLine();
System.out.println("服务器端返回的结果为:" + result);
}
socket.close();
}
}
```
在运行时,先运行服务器端的代码,然后再运行客户端的代码。客户端会提示您输入2个整数,输入后会将这两个整数发送到服务器端,服务器端接收并进行计算,最后将结果返回到客户端,客户端打印出结果。
希望这个例子能够帮助您理解如何利用Java语言提供的Socket技术建立一个C/S模式的应用。