网络编程bio流程Java demo

服务端:监听端口,负责处理链接请求,业务处理,返回结果给客户端socket

public class Server {
    private static String s = "Hello World!";

    static byte[] result = new byte[1024];

    public static void main(String[] args) throws Exception {
        //1.服务端绑定端口,创建监听
        ServerSocket serverSocket = new ServerSocket(8080);

        //2.不断轮询,获取新的请求
        while(true){

            //3.accept接受链接,并阻塞获取链接
            Socket socket = serverSocket.accept();

            //4.读取客户端链接中,传输过来的数据
            socket.getInputStream().read(result);
            System.out.println("接受到客户端数据:" + new String(result));

            //5.业务逻辑处理,写回数据到socket链接中
            socket.getOutputStream().write(s.getBytes());
        }
    }
}

客户端:经过IP和端口信息,与服务端创建链接,发送数据给服务端,接受服务端业务处理结果server

public class Client {
    static String s = "我是客户端1";
    static byte[] result = new byte[1024];

    public static void main(String[] args) throws Exception{
        //1.客户端创建绑定,并创建链接
        Socket socket = new Socket("192.168.0.156", 8080);

        //2.客户端发送数据给服务端
        socket.getOutputStream().write( s.getBytes());
        System.out.println("发送数据到服务端:" + s);

        //3.客户端从socket读取,服务端业务处理结果
        SocketAddress socketAddress = socket.getLocalSocketAddress();
        InputStream in =  socket.getInputStream();
        in.read(result);
        System.out.println("接收服务数据:" + new String(result));
    }
}
相关文章
相关标签/搜索