zoukankan      html  css  js  c++  java
  • 网络

    //发送端代码
    //
    应用层的业务逻辑代码(产生数据) String data = "hello ,upd"; //1.利用传输层的功能,传输,应用层数据 DatagramSocket datagram Socket = new DatagramSocket(10086); //2.将要发送的数据封装橙数据包 //将要发送的数组,转化为字节数组 byte[] byteData = data.getBytes(); //创建表示接收端Socket对象的地址的ip InetAddress ip = InetAddress.getName("192.168.56.1"); DatagramPacket packet = new DatagramPacket(byteData,0,byteData.length,ip,9998); //3.通过udp的socket对象,将数据包发送出 datagramSocket.send(packet); //4.释放资源 datagramSocket.close();

    接收端代码//UDP传输接收端//1.建立UDP的socket对象

    DatagramSocket receivergramSocket new DatagramSocket(9998);
    
    //2.创建用于接收数据的数据报包,通过socket对象的receive方法接收数据
    
    //创建接收数据的数据报包
    byte[] byteBuffer = new byte[1024];
    int offset = 2;
    DatagramPacket receiverPacket = new DatagramPacket(byteBuffer, offset, byteBuffer.length - offset);
    
    //接收数据,该方法执行完,接收数据的数据报包中,就被填充了接收的到数据
    receiverSocket.receive(receiverPacket);
    
    //3.通过数据包对象的功能来万恒对接收到的数据进行解析
    
    //从接收数据的数据报包中,获取接收数据的缓冲(byte[])
    byte[] data = receiverPacket.getData();
    //指明接收的数据,是从缓冲区中的哪个位置开始
    int offset  =receiverPacket.getOffset();
    //本次实际接收到的字节数
    int lenght = receiverPacket.getLength();
    //----------------------------------------------------------------
    
    //接收端根据接收端的业务逻辑,解析接收到的数据
    String s = new String(data, offset, length);
    //接收到了来自192.168.56.1--10086数据:help, udp
    //receiverPacket.getAddress()发送端的端口号
    //receiverPacket.getPort() 发送端的端口号
    System.out.print(
    "接收到了来自" + receiverPacket.getAddress() + "--" + receiverPacket.getPort() + "数据:" + s);

    接收端先执行

  • 相关阅读:
    怎样在黑窗口中查找各种端口
    [Selenium] 数字显示的月份转换为英文显示
    [Selenium] 根据预期的日期格式,获取昨天的日期
    [Selenium] 使用Javascript选中Input框里的内容,然后清空
    Java中for循环遍历List的两种方法
    [Selenium]点击Calendar控件后,Calendar dialog很快消失
    springboot @Slf4j 配置
    springboot线程中获取spring beans
    org.junit.Test 注解失效的问题The import org.junit cannot be resolved
    二叉树java遍历实现
  • 原文地址:https://www.cnblogs.com/wbh1996/p/13050095.html
Copyright © 2011-2022 走看看