网络编程之TCP应用
来源:互联网 发布:python 转换成字典 编辑:程序博客网 时间:2024/05/22 13:04
** 客户端输入三角形的三条边长,判断能否组成三角形,将三条边发送到服务器端,计算三角形面积,返回给客户端(海伦公式)
a,b,c
p = (a+b+c)/2
area=Math.sqrt(p*(p-a)(p-b)(p-c));
**
1.服务器端
public class Server { public static void main(String[] args) { try { ServerSocket ss=new ServerSocket(9999); Socket s=ss.accept(); DataInputStream dis=new DataInputStream(s.getInputStream()); Double[] b=new Double[3]; double x; double res=0; for(int i=0;i<b.length;i++){ b[i]=dis.readDouble(); } //判断三角形的特性 if(b[1]+b[2]>b[0]&&b[0]+b[1]>b[2]&&b[0]-b[1]<b[2]&&b[1]-b[2]<b[0]){ x=(b[0]+b[1]+b[2])/2; //area=Math.sqrt(p*(p-a)*(p-b)*(p-c)); res=Math.sqrt(x*(x-b[0])*(x-b[1])*(x-b[2])); } DataOutputStream dos=new DataOutputStream(s.getOutputStream()); dos.writeDouble(res); dos.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
用户端
public class Client { public static void main(String[] args) { try { Socket s=new Socket("127.0.0.1", 9999); BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); DataOutputStream dos=new DataOutputStream(s.getOutputStream()); //后面把br.readLine()换成了Double类型,所以直接用InputStream写入网络流// byte[] b=new byte[3]; for(int i=0;i<3;i++){ //Double的parseDouble方法: 返回一个新的 double 值,该值被初始化为用指定 String 表示的值,这与 Double 类的 valueOf 方法一样。 dos.writeDouble(Double.parseDouble(br.readLine())); //写入一次服务器收到一次 dos.flush(); } DataInputStream dis=new DataInputStream(s.getInputStream()); System.out.println(dis.readDouble()); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
0 0
- 网络编程之TCP应用
- 网络编程之TCP
- 网络编程之TCP
- 黑马程序员_Java网络编程之TCP应用
- 网络编程之TCP编程
- c#网络编程之TCP
- java网络编程之TCP
- 网络编程之TCP通信
- 网络编程之TCP服务器
- 网络编程之TCP客户端
- 网络通信之tcp编程
- unix网络编程之tcp
- java网络编程之TCP
- Java网络编程之TCP
- Python 网络之TCP编程
- java 网络编程之TCP
- Java网络编程之TCP
- java网络编程之TCP
- easyui 动态添加空间无法渲染 $.parser.parse()无效
- 记录redis相关
- pl/sql编程(四)存储过程、包
- 坚持#第19天~
- hosts老D博客
- 网络编程之TCP应用
- 【Unity】GUI之GUIStyle与GUISkin
- Android-WebView在ScrollView中高度不稳定末尾有大段空白问题解决
- php002-基础知识01
- Linux Shell数据重定向
- 修改smali文件,重打包实现修改程序流程
- C#高级编程-文件和注册表操作
- MySql数据库外键关联
- 浙大PAT甲级 1059