1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > udp 传输文件 java_Java 网络编程 之 UDP 文件传输

udp 传输文件 java_Java 网络编程 之 UDP 文件传输

时间:2020-01-19 06:17:24

相关推荐

udp 传输文件 java_Java 网络编程 之 UDP 文件传输

服务器端

package com.udp;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.OutputStream;

import .DatagramPacket;

import .DatagramSocket;

import .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 .DatagramPacket;

import .DatagramSocket;

import .InetAddress;

import .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();

}

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。