JAVA-UDP传送图片

JAVA-UDP传送图片,第1张

JAVA-UDP传送图片 **UDP传送图片小试(不是很完美等待后续更新)

**
接收端

package day15_18;

import java.io.*;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class Demo02_UdpReceive {
    public static void main(String[] args) throws Exception {
        //创建socket对象
        DatagramSocket ds = new DatagramSocket(10086);
        //创建文件要保存的位置 1.jpg是自己写的到达桌面上必须有个类型一样的接收即使你桌面上没有 1.jpg也要写在这里
        FileOutputStream fos = new FileOutputStream("C:\Users\阿云\Desktop.jpg");
        //打包
        DatagramPacket dp = new DatagramPacket(new byte[1024 * 8], 1024 * 8);
        //while循环接收 坏处不知道什么时候停止异常处理的不是很完美 这里假设最后一组大小不是8192 如果
        //是8192的话先采取下面的抛异常处理 等待后续知识更新
        while (true) {
            ds.receive(dp);
            byte[] date = dp.getData();
            int length = dp.getLength();
            System.out.println(length);
            if (length!=8192){
                ds.close();
                fos.close();
                break;
            }
            fos.write(date, 0, length);
        }
    }
}
       

发送

package day15_18;

import java.io.*;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

//DUP发送端
public class Demo02_UdpSent {
    public static void main(String[] args) throws Exception {
        //创建发送端socket对象
        DatagramSocket ds = new DatagramSocket();
        //创建字节输入流读取本地文件--填写你要传东西的地址这里的图片我是放在桌面 
        InputStream is=new FileInputStream("C:\Users\阿云\Desktop\壁纸.jpg");
        //传输动作--先进行while判断是否还有字节再进行不断传输字节流相关知识
        byte[] bys = new byte[1024 * 8];
        int len;
        while ((len = is.read(bys)) != -1) {
            //将数据不断打包进行发送 依次传入数组 数组范围 地址 端口号
            DatagramPacket dp = new DatagramPacket(bys, 0, len, InetAddress.getByName("127.0.0.1"), 10086);
            //socket 对象发送内容
            ds.send(dp);
        }
        //发送完关闭
        is.close();
        ds.close();
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5162389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存