参照例子4使用套接字连接编写网络程序,客户输入三角形的三边并发送给服务器,服务器计算三角形的面积并返回给客户。java
时间: 2024-03-23 18:43:08 浏览: 37
以下是一个简单的Java程序,用于实现客户端输入三角形的三边并发送给服务器,服务器计算三角形的面积并返回给客户端。
客户端代码:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
// 创建一个Socket对象,指定要连接的服务器和端口号
Socket socket = new Socket("localhost", 8888);
// 获取客户端的输入流和输出流
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
// 从控制台读取三角形的三边
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入三角形的三边(用逗号分隔):");
String input = reader.readLine();
// 将三边发送给服务器
out.println(input);
out.flush();
// 接收服务器返回的面积并输出
String area = in.readLine();
System.out.println("三角形的面积为:" + area);
// 关闭连接
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
服务器端代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
// 创建一个ServerSocket对象,指定监听的端口号
ServerSocket serverSocket = new ServerSocket(8888);
while (true) {
// 等待客户端的连接
Socket socket = serverSocket.accept();
// 获取客户端的输入流和输出流
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
// 接收客户端发送的三边
String input = in.readLine();
String[] sides = input.split(",");
// 计算三角形的面积
double a = Double.parseDouble(sides[0]);
double b = Double.parseDouble(sides[1]);
double c = Double.parseDouble(sides[2]);
double p = (a + b + c) / 2;
double area = Math.sqrt(p * (p - a) * (p - b) * (p - c));
// 将面积发送给客户端
out.println(area);
out.flush();
// 关闭连接
socket.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
运行客户端和服务器端程序后,客户端会提示输入三角形的三边,例如输入 3,4,5,然后服务器端会计算出面积并返回给客户端,客户端输出三角形的面积。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)