zoukankan      html  css  js  c++  java
  • 【Java__Socket 】服务端和客户端通信案例(IO流)

    0、前言

    Java IO 流分为输入流InputStream和输出流OutputStream

    输入流 输出流
    InputStream OutputStream
    读进来 写出去
    读到程序内存 写出到流里面

    1、客户端

        public static void main(String[] args) throws IOException {
            new Thread(() -> {
                Socket socket = null;
                try {
                    socket = new Socket("", 3333);
                } catch (IOException e) {
                    e.printStackTrace();
                }
    
                try {
                    while (true) {
                        OutputStream outputStream = socket.getOutputStream();
                        String format = DateFormat.getDateTimeInstance().format(new Date());
                        outputStream.write((format + " hello world!").getBytes());
                        Thread.sleep(2000);
                    }
                } catch (Exception e) {
    
                }
            }).start();
        }
    

    2、服务端

        public static void main(String[] args) throws Exception {
            ServerSocket serverSocket = new ServerSocket(3333);
            new Thread(() -> {
                while (true) {
                    try {
                        Socket accept = serverSocket.accept();
                        new Thread(() -> {
                            try {
                                int len;
                                byte[] data = new byte[1024];
                                InputStream inputStream = accept.getInputStream();
                                while ((len = inputStream.read(data)) != -1) {
                                    System.out.println(new String(data, 0, len));
                                }
                            } catch (IOException e) {
                                e.printStackTrace();
                            }
    
                        }).start();
                    } catch (Exception e) {
    
                    }
                }
            }).start();
        }
    
  • 相关阅读:
    8.1 管道符| 使用技巧
    7.1 elementui的radio无法选中问题
    2.0 es6数组操作
    小练习-双数日期
    匿名函数、三元表达式、列表生成式
    sys.argv
    常用模块 os,sys,
    Python操作数据库
    Python time模块
    加密模块hashlib
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/13209059.html
Copyright © 2011-2022 走看看