工具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.

最新文章

  1. EL表达式中fn函数 (转载)
  2. List集合 导出 Excel
  3. Android之Inflate()方法用途
  4. SNF开发平台WinForm之十-Excel导入-SNF快速开发平台3.3-Spring.Net.Framework
  5. snprintf/strncpy/strlcpy速度测试
  6. [JS] JavascriptHelp (转载)
  7. java+ mysql 给所有的表添加假数据
  8. javascript每日一练(十)——运动二:缓冲运动
  9. js广告图片轮播
  10. 进入IT行业四月后的感想(生活日志)欢迎评论
  11. this指向(匿名函数问题)
  12. Gradle、Gradle Wrapper与Android Plugin for Gradle
  13. linux内核cfs浅析
  14. position fixed 相对于父级定位
  15. 第三个Sprint冲刺第4天
  16. http响应头设置
  17. linux每日命令(2):cd命令
  18. eclipse/intellij idea 查看java源码和注释
  19. CHtmlEditCtrl(1) : Use CHtmlEditCtrl to Create a Simple HTML Editor
  20. Selenium Webdriver——实现截图功能

热门文章

  1. Google谷歌在根据流量统计分析当年的2008年汶川大地震
  2. xml selectnodes
  3. 长沙做假证u
  4. [译]如何在ASP.NET Core中实现面向切面编程(AOP)
  5. 谈谈Python中列表、元组和数组的区别和骚操作
  6. Zabbix Agent报“listener failed: zbx_tcp_listen() fatal error: unable to serve on any address”
  7. 用于测试 SqlAnalyzer1.01 的21个测试用例
  8. Java生成1,2,2,3,3,3,4,4,4,4,5...序列
  9. 高可用服务之Keepalived利用脚本实现服务的可用性检测
  10. 二、loadrunner参数化连接数据库