
- 用户昵称:aflfte2011
package com.aflfte.udp; package com.aflfte.udp; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.DatagramPacket; import java.net.DatagramSocket; /** * UDP接收端 基本流程 * 1、使用DataGramSocket创建指定端口接收端 * 2、准备容器封装成DataGramPacket包裹 * 3、阻塞式接收包裹receive(DataGramPacket p) * 4、分析数据 * byte[] getData(); * getLength(); * 5、释放资源 * * @author jinhao * */ public class UdpPhotoServer { public static void main(String[] args) throws IOException { System.out.println("开始接收。。。。"); //1、使用DataGramSocket创建指定端口接收端 DatagramSocket server=new DatagramSocket(9999); //2、准备容器封装成DataGramPacket包裹 byte[] container=new byte[1024*60]; DatagramPacket packet=new DatagramPacket(container,0, container.length); //3、阻塞式接收包裹receive(DataGramPacket p) server.receive(packet); /** 4、分析数据 * byte[] getData(); * getLength(); **/ byte[] datas=packet.getData(); //int len=packet.getLength(); File f=new File("12.jpg"); OutputStream ou=new BufferedOutputStream(new FileOutputStream(f)); InputStream bin=new BufferedInputStream(new ByteArrayInputStream(datas)); byte[] flush=new byte[1024]; int le=-1; while((le=bin.read(flush))!=-1) { ou.write(flush,0,le); } ou.flush(); // 5、释放资源 ou.close(); bin.close(); server.close(); } } « UDP实现在线聊天模型 | UDP发送与接收数据» |