UDPsend

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

 /**
  * udp发送端
  * 需求:通过udp传输方式,将一段文字数据发送出去。
  * 1.建立udpsocket服务
  * 2.提供数据,并将数据封装到数据包中,
  * 3.通过socket服务发送功能,将数据包发出去
  * 4.关闭资源
  * @author Administrator
  *
  */
 class UDPsend {
  
  public static void main(String[] args) throws Exception {
   DatagramSocket ds;
   //1.创建udp服务,通过datagramsocket对象
   ds=new DatagramSocket();
   //2.确定数据,并封装
   byte[] data="sdfsdfsd".getBytes();
   DatagramPacket dp=new DatagramPacket(data, data.length,InetAddress.getByName("127.0.0.1"),10000);
   //3.通过socket服务,将已有的数据包发送出去,通过send 方法
   ds.send(dp);
   //4.关闭资源
   ds.close();
  }
 }
 /**
  * 定义udp的接收端
  * 需求:定义一个应用程序,用于接收udp协议传输的数据并处理
  * 1.定义udpsocket服务,通常会监听一个端口,就是给这个接收网络引用程序定义数字标石,方便获取
  * 2.定义一个数据包,因为要存储接收到的字节数据,数据包对象中有更多功能可以提取字节数据中的不同数据信息。
  * 3.通过socket服务的receive方法将受到的数据存入已定义好的数据包中
  * 3.通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台上
  * 5.关闭资源
  */
 class UdpRece{
  public static void main(String[] args) throws Exception {
   //1.创建udp socket,建立断点
   DatagramSocket ds=new DatagramSocket(10000);
   while (true) {
    //2.定义数据包,寸数据
    byte[] buf=new byte[1024]; 
    DatagramPacket dp=new DatagramPacket(buf, buf.length);
    //3.通过服务的receive将受到数据存入数据包
    ds.receive(dp);//阻塞试方法
    //4.通过数据包的方法获取数据
    String ip=dp.getAddress().getHostAddress();
    String data=new String (dp.getData(),0,dp.getLength());
    int port=dp.getPort();
    System.out.println(ip+"::"+data+"::"+port);
   }
//   ds.close();
  }
 
 }

转载于:https://my.oschina.net/u/2329247/blog/388947

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值