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);

    接收端先执行

  • 相关阅读:
    随笔之过账模版
    随笔之转移日记账
    模式窗口的处理方式
    生产领料的问题
    询问对话框,缓存用户设置
    AX2009 连接外部Orcal与SQL区别
    AX2012全新的批处理方式
    AX调用.dll
    AX在query中添加自己的函数
    Java通过代理上传文件到Azure blob
  • 原文地址:https://www.cnblogs.com/wbh1996/p/13050095.html
Copyright © 2011-2022 走看看