0
点赞
收藏
分享

微信扫一扫

【电商项目实战】实现订单超时支付取消

上古神龙 2024-01-04 阅读 11

目录

1.软件架构

2.网络编程三要素

3.IP

1.IPV4

2.IPV6

        //获取InetAddress的对象
        InetAddress address = InetAddress.getByName("127.0.0.1");

4.端口号

5.协议

在这里插入图片描述

1.UDP协议

UDP协议发送数据:

public class Send{
    public static void main(String[] args) throws IOException {
        //创建DatagramSocket对象
        DatagramSocket ds = new DatagramSocket();
        //打包数据
        String str = "你好!!";
        byte[] bytes = str.getBytes();
        InetAddress address = InetAddress.getByName("127.0.0.1");
        int port = 10006;

        DatagramPacket dp = new DatagramPacket(bytes, bytes.length, address, port);
        //发送数据
        ds.send(dp);
        //释放资源
        ds.close();
    }
}

UDP协议接收数据:

public class Receive{
    public static void main(String[] args) throws IOException {
        //创建DatagramSocket对象:接收时绑定的端口号要与发送时的端口保持一致
        DatagramSocket ds = new DatagramSocket(10086);
        //接收数据包
        byte[] bytes = new byte[1024];
        DatagramPacket dp = new DatagramPacket(bytes, bytes.length);
        ds.receive(dp);
        //解析数据包
        byte[] data = dp.getData();
        int length = dp.getLength();
        InetAddress address = dp.getAddress();
        int port = dp.getPort();

        System.out.println("接收到数据:" + new String(data, 0, length));
        System.out.println("该数据是从" + address + "这台电脑中的" + port + "这个端口号发出的");
        //释放资源
        ds.close();
    }
}

1.单播

2.组播

3.广播

2.TCP协议

客户端发送数据:

public class Client {
    public static void main(String[] args) throws IOException {
        //发送数据
        //创建Socket对象
        Socket socket = new Socket("127.0.0.1", 10001);
        //从连接通道中获取输出流
        OutputStream os = socket.getOutputStream();
        //写出数据
        os.write("你好".getBytes());
        //释放资源
        os.close();
        socket.close();
    }
}

服务器接收数据:

public class Server {
    public static void main(String[] args) throws IOException {
        //接收数据
        //
        ServerSocket ss = new ServerSocket(10001);
        //监听用户的连接
        Socket socket = ss.accept();
        //从连接通道中获取输入流数据
        InputStream is = socket.getInputStream();
        //解决中文乱码
        InputStreamReader isr = new InputStreamReader(is);
        //使用缓冲流提高读取效率
        BufferedReader br = new BufferedReader(isr);
        int b;
        while ((b = br.read()) != -1) {
            System.out.println((char) b);
        }
        //释放资源
        socket.close();
        ss.close();

    }
}

1.三次握手

2.四次挥手

举报

相关推荐

0 条评论