1.Socket和ServerSocket

 

 

 

服务端

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
    public static void main(String[] args) throws IOException{
        // 创建ServerSocket实例,绑定9000端口 
        ServerSocket serverSocket = new ServerSocket(9000);
        // 调用accept,等待客户端连接
        Socket socket = serverSocket.accept();
        // 获取客户端输入流
        InputStream is = socket.getInputStream();
        // 使用InputStreamReader装饰输入流
        InputStreamReader isr = new InputStreamReader(is);
        // 使用BufferedReader读取 
        BufferedReader br = new BufferedReader(isr);
        String content = "";
        while ((content = br.readLine()) != null) {
            System.out.println(content);
        }
        
        // 手动关闭资源
        serverSocket.close();
        is.close();
        isr.close();
        br.close();
    }
}

 

客户端

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;

public class Client {
    public static void main(String[] args) throws IOException{
        String host = "localhost";
        int port = 9000;
        // 连接指定host和port的服务端
        Socket socket = new Socket(host, port);
        // 获取客户端输出流
        OutputStream outputStream = socket.getOutputStream();
        // 编写输出内容,转成字节数组
        outputStream.write("hello world \n 大家好".getBytes());
        // 刷新并强制写出所有缓存的输出字节
        outputStream.flush();

        // 手动关闭资源
        socket.close();
        outputStream.close();
    }
}

 

posted @ 2021-12-28 17:03  呱呱二号  阅读(33)  评论(0编辑  收藏  举报