网络编程之TCP应用
2016-08-24 22:20
106 查看
** 客户端输入三角形的三条边长,判断能否组成三角形,将三条边发送到服务器端,计算三角形面积,返回给客户端(海伦公式)
a,b,c
p = (a+b+c)/2
area=Math.sqrt(p*(p-a)(p-b)(p-c));
**
1.服务器端
用户端
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(); } } }
相关文章推荐
- Java网络编程(tcp在服务器上应用多线程)
- 详解Linux服务器最大tcp连接数 网络编程 在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少?
- 网络编程TCP的一些基本应用操作
- 网络层、传输层、应用层、端口通信协议编程接口 - http,socket,tcp/ip 网络传输与通讯知识总结
- TCP/IP模型解读+联系生活中应用+网络编程实现
- 黑马程序员_Java网络编程之TCP应用
- Linux网络编程 - TCP高级应用:socket文件描述符属性控制
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- WINDOWS (服务器) 和 DOS(客户端) 网络互连 基于TCP/IP的编程实现
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- C#网络应用编程基础练习题与答案(1)
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)----使用方法
- TCP网络程序设计-完成端口之应用
- 网络编程简单应用(更新时间)
- 网络编程C#篇(一):TCP/UDP
- C#中使用异步Socket编程实现TCP网络服务的CS的通讯构架(一)----基础类库部分
- Java网络编程之TCP(一)
- C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(二)
- Java 网络编程 TCP vs UDP -Java学习笔记(31)