0
点赞
收藏
分享

微信扫一扫

Java-UDP网络编程

开源GIS定制化开发方案 2022-05-02 阅读 76
/**
 * UDP的网络编程
 * 先启动接受方,后启动发送方
 */
public class UDPTest {

    /**
     * 发送方
     */
    @Test
    public void send() {
        DatagramSocket socket = null;
        try {
            //封装发送的数据
            String msg = "我正在测试UDP方式的网络编程";
            byte[] data = msg.getBytes();
            //指定发送方IP地址
            InetAddress inetAddress = InetAddress.getByName("127.0.0.1");
            //封装数据报
            DatagramPacket datagramPacket = new DatagramPacket(data, 0, data.length, inetAddress, 9001);
            socket = new DatagramSocket();
            //发送数据报
            socket.send(datagramPacket);

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (socket != null) {
                socket.close();
            }
        }
    }

    /**
     * 接受方
     */
    @Test
    public void receiver() {

        DatagramSocket socket = null;
        try {
            //指定端口号
            socket = new DatagramSocket(9001);
            //存储发送方数据报
            byte[] data = new byte[1024];
            DatagramPacket datagramPacket = new DatagramPacket(data, 0, data.length);
            //接收数据报
            socket.receive(datagramPacket);

            String msg = new String(datagramPacket.getData(), 0, datagramPacket.getLength());
            System.out.println("接收到的数据是:" + msg);

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (socket != null) {
                socket.close();
            }
        }
    }
}
举报

相关推荐

0 条评论