发送端

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException; /**
* UDP 发送端
* @author Administrator
*
*/
public class Demo2 {
public static void main(String[] args) throws Exception { /**
* 准备发送端
* DatagramSocket()
* 构造一个数据报套接字绑定到本地主机机器上的任何可用的端口。
*/
DatagramSocket ds = new DatagramSocket(); /**
* 准备数据包
*1、 DatagramPacket(byte[] buf, int length)
* 构造一个 DatagramPacket length接收数据包的长度
*2、 String的getBytes()
* 方法是得到一个操作系统默认的编码格式的字节数组
*3、 setSocketAddress()
* 设置SocketAddress(通常是IP地址+端口号)都的远程主机发送数据报。
* 4、InetSocketAddress(InetAddress addr, int port)
* 创建一个套接字地址的IP地址和端口号。
*/
String str = "你好,UDP";
byte[] ch = str.getBytes(); DatagramPacket dp = new DatagramPacket(ch, ch.length);
dp.setSocketAddress(new InetSocketAddress("127.0.0.1", 12345)); // 发送数据
ds.send(dp); // 关闭套接字
ds.close(); }
}

接收端

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException; /**
* UDP 接收端
* @author Administrator
*
*/
public class Demo3 {
public static void main(String[] args) throws Exception { // 创建接收端
DatagramSocket ds = new DatagramSocket(12345); /**
* 接收数据包
* receive(DatagramPacket p)
* 从这个套接字接收数据报包。
*/
byte[] data = new byte[1024];
DatagramPacket dp = new DatagramPacket(data, data.length);
ds.receive(dp); // 获取接受到的信息
String str = new String(data, 0, dp.getLength());
System.out.println(str); // 关闭接收端
ds.close();
}
}

最新文章

  1. mysql 命令导入导出
  2. [Django]Django1.8修改MySQL已存在表的问题?
  3. Django分析之Middleware中间件
  4. 集成SDK查看包架构指令
  5. linux非常用但很有用的命令
  6. Explain in detail the steps/processes that occur from the moment you type a URL in a browser and hit enter
  7. 161125、Java网络编程之统一资源定位符URL
  8. C#关于值类型和引用类型的备忘
  9. Oracle 学习用
  10. Linux使用技巧9--用dpkg管理你的软件
  11. Java post提交表单限制
  12. javascript中的变量、作用域和内存问题
  13. 【C++】C++string类总结
  14. Junit中AssertTrue的使用
  15. R语言可视化学习笔记之ggpubr包—SCI文章图
  16. 有关java编辑器myeclipse编辑网站的一些设置(个人习惯)
  17. Linux 系统服务注册
  18. 表单验证插件validate
  19. 使用loader打包静态文件-样式2
  20. ip段/数字,如192.168.0.1/24的意思是什么?(转)

热门文章

  1. [原][osg][osgearth]我眼中的osgearth
  2. Ubuntu上识别不到安卓设备或者显示出“????”,提示No Permission
  3. c++ 中的 set
  4. OAF TABLE中第一列添加事件不生效
  5. keil软件相关问题汇总
  6. 002——数组(二)each() list() implode() explode() in_array()
  7. linux下redis的安装及配置启动
  8. CF86D
  9. HDU 6153 A Secret(扩展kmp)
  10. 利用django.core.mail发送QQ邮件的配置