Java 使用UDP传输一个小文本文件
2024-08-31 19:57:23
工具1:Eclipse
工具2:IntelliJ IDEA
Java工程的目录结构(基于IntelliJ IDEA)
例1.1:接收方,因为接收到的数据是字节流,为了方便,这里是基于Apache commons IO,将字节流读到一个文本文档中。
1 import org.apache.commons.io.FileUtils;
2
3 import java.io.File;
4 import java.io.IOException;
5 import java.net.DatagramPacket;
6 import java.net.DatagramSocket;
7
8 public class Receiver {
9
10 public static void main(String[] args) throws IOException {
11 DatagramSocket you = new DatagramSocket(6666);
12 byte[] buffer = new byte[1024 * 8];
13 DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length);
14 you.receive(datagramPacket);
15 FileUtils.writeByteArrayToFile(new File("postcard.txt"), datagramPacket.getData(), 0, datagramPacket.getLength());
16 System.out.println(FileUtils.readFileToString(new File("postcard.txt"), "UTF-8"));
17 you.close();
18 }
19 }
Java工程的目录结构(基于Eclipse)
例1.2:发送方,发送一个名为postcard的文本文档。因为传输的是字节流,所以需要将文本文档转换为字节数组,为了方便,这里是基于Apache commons IO,将文本文档的内容读到一个字节数组中。
1 import java.io.File;
2 import java.io.IOException;
3 import java.net.DatagramPacket;
4 import java.net.DatagramSocket;
5 import java.net.InetSocketAddress;
6
7 import org.apache.commons.io.FileUtils;
8
9 public class Sender {
10
11 public static void main(String[] args) throws IOException {
12 DatagramSocket i = new DatagramSocket(8888);
13 byte[] buffer = FileUtils.readFileToByteArray(new File("postcard.txt"));
14 DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length, new InetSocketAddress("localhost", 6666));
15 i.send(datagramPacket);
16 i.close();
17
18 System.out.println("I sent you a postcard.");
19 }
20 }
先运行接收方,再运行发送方。如果都能顺利运行,接收方的控制台输出接收到的内容。例如我的是:
I miss you.
最新文章
- EL表达式中fn函数 (转载)
- List集合 导出 Excel
- Android之Inflate()方法用途
- SNF开发平台WinForm之十-Excel导入-SNF快速开发平台3.3-Spring.Net.Framework
- snprintf/strncpy/strlcpy速度测试
- [JS] JavascriptHelp (转载)
- java+ mysql 给所有的表添加假数据
- javascript每日一练(十)——运动二:缓冲运动
- js广告图片轮播
- 进入IT行业四月后的感想(生活日志)欢迎评论
- this指向(匿名函数问题)
- Gradle、Gradle Wrapper与Android Plugin for Gradle
- linux内核cfs浅析
- position fixed 相对于父级定位
- 第三个Sprint冲刺第4天
- http响应头设置
- linux每日命令(2):cd命令
- eclipse/intellij idea 查看java源码和注释
- CHtmlEditCtrl(1) : Use CHtmlEditCtrl to Create a Simple HTML Editor
- Selenium Webdriver——实现截图功能
热门文章
- Google谷歌在根据流量统计分析当年的2008年汶川大地震
- xml selectnodes
- 长沙做假证u
- [译]如何在ASP.NET Core中实现面向切面编程(AOP)
- 谈谈Python中列表、元组和数组的区别和骚操作
- Zabbix Agent报“listener failed: zbx_tcp_listen() fatal error: unable to serve on any address”
- 用于测试 SqlAnalyzer1.01 的21个测试用例
- Java生成1,2,2,3,3,3,4,4,4,4,5...序列
- 高可用服务之Keepalived利用脚本实现服务的可用性检测
- 二、loadrunner参数化连接数据库