美文网首页
Socket编程实例

Socket编程实例

作者: passwd_ | 来源:发表于2016-12-12 16:35 被阅读0次

用套接字实现客户——服务器交互计算,客户端输入三角形三边长并发送给服务器,服务器把计算出的三角形面积返回给客户。

TCPserver.java

package test9;
import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.net.ServerSocket; 
import java.net.Socket; 
 
public class TCPserver { 
    public static final int NUM = 3; 
    public static void main(String args[]){ 
         
        TCPserver TCPserver = new TCPserver(); 
        try { 
            ServerSocket server = null; 
             
            try { 
                server = new ServerSocket(6666); 
            } catch (Exception e) { 
                e.printStackTrace(); 
            } 
             
            Socket socket = null; 
            try { 
                socket = server.accept(); 
            } catch (Exception e) { 
                e.printStackTrace(); 
            } 
             
            String line = ""; 
            double a[] = new double[NUM]; 
            BufferedReader is = new BufferedReader(new InputStreamReader 
                    (socket.getInputStream())); 
             
            System.out.println("从客户端接收三角形的三条边:"); 
            for (int i = 0; i < a.length; i++) { 
                line = is.readLine(); 
                a[i] = Double.parseDouble(line); 
            } 
             
             
            System.out.println("三角形的面积是:" + TCPserver.countarea(a)); 
             
            is.close();//关闭读取流  
            socket.close();//关闭Socket  
            server.close();//关闭ServerSocket  
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 
     
     
    //计算三角形面积的方法  
    public double countarea(double a[]){ 
        double area = 0.0; 
         
        double temp = 0.0; 
        double aside = 0.0; 
        double bside = 0.0; 
        double cside = 0.0; 
        aside = a[0]; 
        bside = a[1]; 
        cside = a[2]; 
        temp = a[0] + a[1] + a[2]; 
        temp = temp / 2; 
         
         
         
        area = Math.sqrt(temp * (temp - aside) * (temp - bside) * (temp - cside)); 
         
        return area; 
    } 
} 

TCPclient.java

package test9;

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.io.PrintWriter; 
import java.net.Socket; 
public class TCPclient { 
     
    public static final int NUM = 3; 
    public static void main(String args[]){ 
        try { 
            Socket socket = new Socket("127.0.0.1", 6666); 
            BufferedReader sin = new BufferedReader(new InputStreamReader(System.in)); 
             
            PrintWriter os = new PrintWriter(socket.getOutputStream()); 
             
            System.out.println("从客户端接收三角形的三条边发送到服务器:"); 
            System.out.println("请输入3条边:"); 
            String readline = ""; 
            for (int i = 0; i < NUM; i++) { 
                os.flush(); 
                readline = sin.readLine(); 
                os.println(readline); 
            } 
             
            os.close(); 
            socket.close(); 
             
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 
     
}
  1. 两者放到同一目录下
  2. 先编译TCPserver.java
  3. 在编译运行TCPclient.java
  4. 依次输入三角形三条边的长

相关文章

  • Socket编程实例

    用套接字实现客户——服务器交互计算,客户端输入三角形三边长并发送给服务器,服务器把计算出的三角形面积返回给客户。 ...

  • 网络编程socket

    网络编程中socket Python 提供socket 类,通过实例化一个socket 对象,来进行不通主机之间的...

  • Android Socket 编程实例

    http://www.runoob.com/w3cnote/android-tutorial-socket-int...

  • 许世伟的Go语言基础 第五章总结

    第5章 网络编程 5.1 socket编程 以往socket编程: 建立socket:使用socket()函数。 ...

  • 网络编程

    python学习笔记-网络编程 socket编程: socket()函数:socket.socket([famil...

  • Java NIO Socket编程实例

    各I/O模型优缺点 BIO通信模型BIO主要的问题在于每当有一个新的客户端请求接入时,服务端必须创建一个新的线程处...

  • linux下socket编程实例

    一、基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的。网络的socket数据传输...

  • TCP socket 编程

    TCP socket 编程 讲一下 socket 编程 步骤 使用 socket 模块 建立 TCP socket...

  • 网络编程

    网络 Socket 基于TCP协议的Socket编程 基于UDP协议的Socket编程

  • 【ws】封装一个webSocket实例

    应用中使用websocket,一般包括以下几个方法 初始化socket 创建socket实例 获取socket实例...

网友评论

      本文标题:Socket编程实例

      本文链接:https://www.haomeiwen.com/subject/kowmmttx.html