网络编程 upd 发送接收数据

1.发送数据

package UPDdemo;

import java.io.IOException;
import java.net.*;

public class demo1 {
          
   
    public static void main(String[] args) throws IOException {
          
   
        DatagramSocket s = new DatagramSocket();
        byte[] s1 = "我想和你在一起".getBytes();
        //getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
        DatagramPacket d=new DatagramPacket(s1,s1.length, InetAddress.getByName("192.168.31.112"),1008);
        //数组,数组长度,ip地址,端口
        s.send(d);
        s.close();
    }
}

2.接收数据

package UPDdemo;

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

public class demo2 {
          
   
    public static void main(String[] args) throws IOException {
          
   
        DatagramSocket datagramSocket = new DatagramSocket(1008);
        byte a[]=new byte[1024];
        DatagramPacket dp = new DatagramPacket(a,a.length);
        datagramSocket.receive(dp);
        System.out.println(new String(dp.getData(),0,dp.getLength()));
//        String(byte[] bytes, int offset, int length)
//        通过使用平台的默认字符集解码指定的字节子阵列来构造新的 String 。
        datagramSocket.close();
    }
}

先接收再发送数据

经验分享 程序员 微信小程序 职场和发展