用udp通信实现发送端给接收端发送文件,接收端接收的java代码
时间: 2023-10-09 16:16:21 浏览: 242
以下是使用UDP实现发送文件的Java代码:
```java
import java.io.*;
import java.net.*;
public class FileReceiver {
public static void main(String[] args) throws IOException {
int port = 8888; // 接收端口号
DatagramSocket socket = new DatagramSocket(port); // 创建数据报套接字
byte[] buffer = new byte[1024]; // 缓冲区大小为1KB
DatagramPacket packet = new DatagramPacket(buffer, buffer.length); // 创建数据报文
FileOutputStream fos = new FileOutputStream("received_file.txt"); // 创建文件输出流
while (true) {
socket.receive(packet); // 接收数据报文
if (packet.getLength() == 0) { // 如果数据报文长度为0,则表示文件接收完毕
break;
}
fos.write(packet.getData(), 0, packet.getLength()); // 将数据写入文件
}
fos.close(); // 关闭文件输出流
socket.close(); // 关闭数据报套接字
}
}
```
注意事项:
- 文件接收端口号应与发送端口号相同。
- 文件接收端代码应运行在接收文件的机器上。
- 文件接收端应在接收到长度为0的数据报文时停止接收。
同时,为了保证数据传输的可靠性,可以在文件发送端添加确认机制,即接收端在接收到每个数据报文后都回复一个确认数据报文。如果发送端在一定时间内没有收到确认数据报文,则重传该数据报文。
阅读全文