Java使用基础:UDP发送和接收数据

UDP 是User Datagram Protocol的简称,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

发送端分析:

1.创建发送端Socket对象

2.创建数据并打包

3.发送数据

 

接收端分析:

1.创建接收端Socket对象

2.接收数据

3.解析数据

4.将接收到的数据打印到控制台

 

发送端代码:

 

public class UDPSendTest {
  public static void main(String[] args) throws Exception {
    //创建发送端Socket对象
    DatagramSocket ds = new DatagramSocket();
    //创建数据并打包
    String s = "My name is happywindman";
    byte[] bytes = s.getBytes();
    int length = s.length();
    InetAddress ip = InetAddress.getByName("192.168.3.100");//根据自己主机的ip地址或者主机名
    int port = 10086;
    DatagramPacket dp = new DatagramPacket(bytes,length,ip,port);
    //发送数据
    ds.send(dp);
    //释放资源
    ds.close();
  }
}

 

 

接收端代码:

public class UDPReceiveTest {
  public static void main(String[] args) throws Exception {
    //创建接收端Socket对象
    DatagramSocket ds = new DatagramSocket(10086);
    //接收数据
    byte[] bytes = new byte[1024];
    int length = bytes.length;
    DatagramPacket dp = new DatagramPacket(bytes, length);
    ds.receive(dp);
    //解析数据
    InetAddress address = dp.getAddress();
    byte[] data = dp.getData();
    int len = dp.getLength();
    //输出数据
    System.out.println(address);
    System.out.println(new String(data,0,len));
  }
}

 

 

先运行接收端代码,然后再运行发送端代码就可以看到发送的数据被打印到控制台了

转载于:https://www.cnblogs.com/singleprogramdog/p/11095619.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值