【Java__Socket 】服务端和客户端通信案例

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();
    }

你可能感兴趣的:(【Java__Socket 】服务端和客户端通信案例)