import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UpdSend {
 
 public static void main(String[] args)  {
  
  try {
   //这是发送的upd的socket,可以随便从哪个端口发送出去,不写入任何参数,表示系统会选取一个我们的应用程序没有占用的端口发送出去
   DatagramSocket datagramSocket = new DatagramSocket();
   //这是发送发的数据包,第三个参数指定发送到到哪个计算机(也就是指定指定的计算机的IP),第四个参数是发送那个端口,这里的IP和port必须要指定,要不然我不知道发送哪里去啊
   String str = "I love you 我爱你";
   //这里的第二个参数是发送的字节的长度,不是字符窜的长度,如果写的是字符窜的长度,英文下
   DatagramPacket datagramPacket = new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getByName("192.168.1.101"), 3000);
   datagramSocket.send(datagramPacket);
   datagramSocket.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

}

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class UpdReceived {
 
 public static void main(String[] args) {
  try {
   //这里必须要指定socket的端口,不然我不知道是从哪个端口去接受数据
   DatagramSocket datagramSocket = new DatagramSocket(3000);
   byte[] buf = new byte[1024];
   //这里是用datagrampacket接受发送过来的数据,所以不需要指定IP和port
   DatagramPacket p = new DatagramPacket(buf, 1024);
   datagramSocket.receive(p);
   //这是得到接受过来的字节数组,其实就是上面的buf,也可以直接用上面的buf
   byte [] b = p.getData();
   
   //这是得到接受到的数据的真实长度
   int len = p.getLength();
   System.out.println(len);
   //这是得到发送放的IP
   String sendIP = p.getAddress().getHostAddress();
   System.out.println(sendIP);
   //这是得到发送发的端口号
   int port = p.getPort();
   System.out.println(port);
   //这是打印出接收到的数据
   System.out.println(new String(b,0, len ));
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

}

//注意:千万记得在测试的时候,应该首先运行接受端,然后再运行发送端

java中UPD的一个简单的例子相关推荐

  1. 如何动态的向数组中插入键值对_在Java中实现的一个简单“HashMap”

    如何创建Hash表 对于把K(键)-V(值)这样的键值对插入Hash表中,需要执行两个步骤: 1.使用散列函数将K转换为小整数(称为其哈希码). 2.哈希码用于查找索引(hashCode%arrSiz ...

  2. 一个简单的例子看java线程机制

    一个简单的例子看java线程机制 作者: zyf0808 发表日期: 2006-03-26 11:20 文章属性: 原创 复制链接 import java.util.*; public class T ...

  3. .net中的对象序列化(1): 序列化是什么, 以及一个简单的例子

    1. 为什么需要序列化,什么是序列化 对于一个程序来说, 使用到的对象都是存在于内存中的.如果想保存这些对象的运行时状态, 或者需要在不同进程或者网络间传递对象,就需要序列化. 序列化就是讲运行中的对 ...

  4. java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...

    一个简单的例子理解java继承.成员函数重写.类型转换 1.继承简介 举一个简单的例子:笔分为很多种,比如毛笔.钢笔.圆珠笔等等,这些笔都有一些相同的属性比如长度.笔迹的粗细等等:但他们也有不同的特点 ...

  5. oracle 列 连续,oracle中某列连续相同值的记录数统计(一个简单的例子)

    oracle中某列连续相同值的记录数统计(一个简单的例子) row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 ...

  6. 一个简单的例子,学习自定义注解和AOP

    转载自   一个简单的例子,学习自定义注解和AOP 记得今年年初刚开始面试的时候,被问的最多的就是你知道Spring的两大核心嘛?那你说说什么是AOP,什么是IOC?我相信你可能也被问了很多次了. 1 ...

  7. antlr4例子_ANTLR和网络:一个简单的例子

    antlr4例子 网络上的ANTLR:为什么? 我开始在MS-DOS上编写我的第一个程序. 因此,我非常习惯在自己的机器上安装工具. 但是在2016年,网络无处不在,因此那里也可能需要我们的语言. 可 ...

  8. ANTLR和网络:一个简单的例子

    网络上的ANTLR:为什么? 我开始在MS-DOS上编写我的第一个程序. 因此,我非常习惯在计算机上安装工具. 但是在2016年,网络无处不在,因此那里也可能需要我们的语言. 可能的情况: ANTLR ...

  9. Java基础篇:一个简单的类

    让我们先从一个简单的例子来开始对类的研究.下面定义了一个名为box的类,它定义了3个实例变量:width,height和depth.当前,box类不包含任何方法(但是随后将增加一些). class B ...

最新文章

  1. 谷歌大脑AutoML最新进展:用进化算法发现神经网络架构
  2. OpenCV 静态链接 libstdc++
  3. Nginx服务器的安装配置
  4. 神策数据曹犟将出任导师:宝洁黑客马拉松聚焦工业大数据
  5. django1.4.9 pythoon manage.py --help 子命令解析
  6. Eclipse+jetty+maven+Struts2+Spring2+Hibernate3+annotation注册系统V1.0
  7. Windows2003+SQL2000的集群安装手册
  8. 红旗系统 oracle,红旗linux的Asianux 3.0安装oracle10.2
  9. 大数据、人工智能如何融合?来自微软、阿里、滴滴、科大讯飞等的 120 多位专家要用 3 天为你解答!
  10. python之七行代码制作GIF动画
  11. JVM垃圾收集器(2)
  12. 美图秀秀计算机教程,如何用美图秀秀换背景?美图秀秀换背景图文教程-电脑教程...
  13. 相机的介绍--新手入门级介绍
  14. 在线购物系统-面对对象设计
  15. opc服务器保存在哪里怎么修改,客户端修改opc服务器的数据
  16. allegro中怎样制作和添加logo
  17. 新手做头条号短视频,这三大点要牢记,让你少走弯路,抓紧收藏
  18. Java中关于子类重写父类方法的坑
  19. 51Nod-1859-Clarke and number
  20. 个人对价值观的认识与感受

热门文章

  1. MS-DOS基本操作汇总
  2. 以下使用计算机的不良习惯,1.以下使用计算机的不好习惯是( )。 A. 关机前退出所有正在执行的应用程序 B. 使用标准的文件扩展名 C....
  3. 西安电子科技大学计算机刘惠,西安电子科技大学计算机学院硕导介绍:刘惠(2)...
  4. GZH逸佳君:还在担心乱用字体会侵权吗?免费送你1800款可免费商用的精选字体
  5. 手撕HashMap数据结构(带你逐行阅读源码)
  6. ios友联统计的一些功能
  7. ubuntu 查看opencv以及opencv4版本
  8. java word插件开发_java生成word的几种方案
  9. linux终端打英文间隔太大,解决vs code 内置终端,字体间隔过大问题。(linux centos7成功)...
  10. Js/es for(let i in Obj)效率分析及优化