udp 传输文件 java_Java 网络编程 之 UDP 文件传输
服務器端
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();
}
}
}
}
總結
以上是生活随笔為你收集整理的udp 传输文件 java_Java 网络编程 之 UDP 文件传输的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php mysql第4版高清_PHP和M
- 下一篇: 迷你世界怎么做密码门(24期迷你世界一)