- public class SendDemo {
- public static void main(String[] args) throws IOException {
- // 创建Socket对象
- DatagramSocket ds = new DatagramSocket();
- //封装数据
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
- "e:\\abc.mp3"));
- byte[] bys = new byte[1024];
- int len = 0;
- while ((len = bis.read(bys)) != -1) {
- // 打包
- DatagramPacket dp = new DatagramPacket(bys, len,
- InetAddress.getByName("192.168.1.101"), 10000);
- // 发送数据
- ds.send(dp);
- }
- }
- }
复制代码- public class ReceivedDemo {
- public static void main(String[] args) throws IOException {
- //创建对象
- DatagramSocket ds = new DatagramSocket(10000);
- //封装数据
- BufferedOutputStream bos = new BufferedOutputStream(
- new FileOutputStream("e:\\copy.mp3"));
- while (true) {
- //打包
- byte[] bys = new byte[1024 * 2];
- DatagramPacket dp = new DatagramPacket(bys, bys.length);
- ds.receive(dp);
- //解析数据
- bos.write(dp.getData(), 0, dp.getLength());
- }
- }
- }
复制代码 用upd做了一个数据传输,但是每次都有数据丢失,结尾处少一段数据,折腾了好几个小时,还是找不到问题,求助。 |