欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TCP传输

程序员文章站 2022-03-15 21:12:49
...
  1. 服务端:
    /*
     *      创建ServerSocket服务器,需要指定端口号
     *      调用ServerSocket的accept()方法接收一个客户端请求,得到一个Socket
     *      调用Socket的getInputStream()和getOutputStream()方法获取和客户端相连的IO流
     *      输入流可以读取客户端输出流写出的数据
     *      输出流可以写出数据到客户端的输入流
     */
    public class DemoServer {
    
        public static void main(String[] args) throws Exception{
    
            ServerSocket server=new ServerSocket(12345);
            Socket socket=server.accept();
            BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));    //将字节流包装成了字符流
            PrintStream ps=new PrintStream(socket.getOutputStream());                                //PrintStream中有写出换行的方法
    
            ps.println("欢迎来到我的服务器");
            System.out.println(br.readLine());          //在读取的时候是以判断“\r\n”为结束标记
            ps.println("没事");
            socket.close();
        }
    }

     

  2. 客户端:
    /*
     *      创建Socket连接服务器(指定ip,指定端口),通过IP地址找到对应的服务器
     *      调用Socket的getInputStream()和getOutputStream()
     *      输入流可以读取服务端输出流写出的数据
     *      输出流可以写出数据到服务端的输入流
     */
    
    public class DemoClient {
    
        public static void main(String[] args) throws Exception{
            Socket socket=new Socket("127.0.0.1",12345);
    //        InputStream is=socket.getInputStream();         //获取客户端输入流
    //        OutputStream os = socket.getOutputStream();     //获取客户端输出流
    
            BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));    //将字节流包装成了字符流
            PrintStream ps=new PrintStream(socket.getOutputStream());                                //PrintStream中有写出换行的方法
    
            System.out.println(br.readLine());          //br.readLine() 在读取的时候是以判断“\r\n”为结束标记,服务端ps.println("欢迎来到我的服务器");实现换行
            ps.println("我也是第一次诶");
            System.out.println(br.readLine());
            socket.close();
        }
    }
    

     

 

相关标签: TCP