博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 网络编程 之 UDP 文件传输
阅读量:5302 次
发布时间:2019-06-14

本文共 2501 字,大约阅读时间需要 8 分钟。

服务器端 package com.udp;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;public class UDPTextFileServer{    public static void main(String[] args)    {        OutputStream os=null;        DatagramSocket ds=null;        try        {            ds=new DatagramSocket(9001);            System.out.println("在9001端口监听...");                        byte[] b=new byte[1024];            DatagramPacket dp=new DatagramPacket(b,0,b.length);            ds.receive(dp);            byte[] data=dp.getData();            os=new FileOutputStream(new File("text.txt"));            os.write(data, 0, dp.getLength());            System.out.println("文件接收成功");        } catch (SocketException e)        {            e.printStackTrace();        } catch (IOException e)        {            e.printStackTrace();        }        finally        {            try            {                os.close();                ds.close();            } catch (IOException e)            {                e.printStackTrace();            }                    }    }}客户端 package com.udp;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;public class UDPTextFileClient{    public static void main(String[] args)    {        DatagramSocket ds=null;        InputStream is=null;        try        {            ds=new DatagramSocket(9000);            System.out.println("客户端在 9000 监听");                        is=new FileInputStream(new File("text.txt"));                        byte[] b=new byte[is.available()];            is.read(b);                        DatagramPacket dp=new DatagramPacket(b,0,b.length);            dp.setPort(9001);            dp.setAddress(InetAddress.getByName("192.168.2.102"));                        ds.send(dp);            System.out.println("文件发送成功");        } catch (SocketException e)        {            e.printStackTrace();        } catch (IOException e)        {            e.printStackTrace();        }        finally        {            try            {                is.close();                ds.close();            } catch (IOException e)            {                e.printStackTrace();            }                    }    }}

转载于:https://www.cnblogs.com/verejava/p/9232105.html

你可能感兴趣的文章
openstack-glance API 镜像管理的部分实现和样例
查看>>
Discuz!模板解析语法
查看>>
图解散列函数
查看>>
[No0000B6]C#中 ==与equals的区别
查看>>
POJ2255 TreeRecovery(二叉树的三种遍历)
查看>>
jersey
查看>>
React-Todos
查看>>
hdu4815----dp0-1背包
查看>>
ubuntu安装wireshark
查看>>
Python实现PDF文件截取
查看>>
Android train——基本组件LinearLayout、EditText、Button
查看>>
Bluetooth Low Energy介绍
查看>>
154. Find Minimum in Rotated Sorted Array II
查看>>
设计模式之状态者模式
查看>>
Perl 关于 use strict 的用法
查看>>
servlet运行过程
查看>>
Compressing Files with the Closure Compiler Service API
查看>>
winfrom 实现条形码批量打印以及将条形码信息生成PDF文件
查看>>
Java开发知识之Java的集成开发环境
查看>>
关于sudo dpkg-divert –local –rename –add /sbin/initctl导致的开机无图标解决方法
查看>>