客户端与服务器通信(版本2)

客户端

public class Client02 {
    
    


    public static void main(String[] args) {
    
    


        //创建客户端套接字   用户交互服务器

        try {
    
    
            Socket socket = new Socket("127.0.0.1", 8002);
            //根据套接字获取输出流  把信息从内存拿出来就是输出  写进内存就是输入
            OutputStream outputStream = socket.getOutputStream();

            //将字节输出流包装成数据字节输出
            DataOutputStream dataOutputStream = new DataOutputStream(outputStream);

            dataOutputStream.flush();
            dataOutputStream.writeUTF("你好");

            //获取服务端发过来的消息
            DataInputStream dataInputStream = new DataInputStream(socket.getInputStream());

            String s = dataInputStream.readUTF();
            System.out.println(s);
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }
    }
}

服务器

public class Server02 {
    
    


    public static void main(String[] args) {
    
    


        //创建服务端套接字ServerSocket  并指定端口号


        try {
    
    
            ServerSocket serverSocket = new ServerSocket(8002);
            //通过服务端套接字  监听客户端的连接  如果没有客户端连接  程序会停留在此处

            System.out.println("------------服务端暴露成功--------------");
            Socket socket = serverSocket.accept();//返回的就是客户端的套接字

            //根据客户端套接字  获取对应的输入流
            InputStream inputStream = socket.getInputStream();

            //将字节输入流包装成  数据字节流
            DataInputStream dataInputStream = new DataInputStream(inputStream);

            String s = dataInputStream.readUTF();
            System.out.println(s);

            //服务端继续给客户端发送消息  这里使用socket  而不是serverSocket  是因为服务端只有一个  客户端有很多个  给指定客户端发信息
            DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
            dataOutputStream.writeUTF("我在");
            dataOutputStream.flush();


            System.out.println("---------------程序执行完毕---------------");
        } catch (IOException e) {
    
    
            e.printStackTrace();
        }finally {
    
    

        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_45100361/article/details/113529913