UDP传输基本数据类型、对象、文件

本文探讨了如何使用UDP协议进行基本数据类型、对象以及文件的传输。在接收端和发送端的实现中,针对不同类型的传输,采用了不同的IO流策略。对于基本数据类型,利用了IO流的数据流;对于对象,采用的是对象流进行操作;而在处理文件和图片时,通过对接流的方法实现了UDP中的文件传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接收端和发送端是两个类。

基本数据类型:

//发送端
 public static void clientData() throws Exception {
        DatagramSocket client = new DatagramSocket(8888);
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(baos));
        //操作数据类型+数据
        dos.writeChar(12);//int
        dos.writeUTF("nihao");//String
        dos.flush();//要刷新一下,不刷新可能会报EOFException错误
        byte[] datas = baos.toByteArray();
        DatagramPacket packet = //下面的第四个参数是创建本机的,9999要和接收端那指定的端口一致,不然会丢失数据包
                new DatagramPacket(datas, 0, datas.length, new InetSocketAddress("localhost", 9999));
        client.send(packet);
        client.close();
    }

//接收端
 public static void serverData() throws Exception {
        // Address already in use: Cannot bind 这个错误是由于同一个机子同一协议下端口冲突
        DatagramSocket server = new DatagramSocket(9999);
        byte[] container = new byte[1024*60]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值