udp的socket是怎样实现数据传输

udp的socket是怎样实现数据传输,第1张

     UDP简介

  UDP: User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

  特点:每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收方的连接。

  UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。

  UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。

     udp socket实现数据传输

  socket编程实现UDP数据传输基于DatagramSocket与DatagramPacketAPI实现。

  [java] view plain copy

  [java] view plain copyimport java.io.IOExcepTIon;

  import java.net.DatagramPacket;

  import java.net.DatagramSocket;

  import java.net.InetAddress;

  /**

  * 客户端发送数据

  */

  public class UdpClient {

  public staTIc void main(String[] args) throws IOExcepTIon {

  // 1.定义服务器的地址、端口号、数据

  byte[] data = “udpclient发送数据”.getBytes();

  InetAddress address = InetAddress.getByName(“localhost”);

  int port = 8086;

  // 2.创建数据报,包含发送的数据信息

  DatagramPacket packet = new DatagramPacket(data, data.length, address,port);

  // 3.创建DatagramSocket对象

  DatagramSocket socket = new DatagramSocket();

  // 4.向服务器端发送数据报

  socket.send(packet);

  socket.close();

  }

  }

  [java] view plain copyimport java.io.IOExcepTIon;

  import java.net.DatagramPacket;

  import java.net.DatagramSocket;

  /**

  *服务器接收数据

  */

  public class UdpServer {

  public static void main(String[] args) throws IOException {

  DatagramSocket socket = new DatagramSocket(8086);

  byte[] data = new byte[1024];

  DatagramPacket packet = new DatagramPacket(data, data.length);

  socket.receive(packet);

  String info = new String(data, 0, packet.getLength());

  System.out.println(“udpservice接收数据是” + info);

  socket.close();

  }

  }

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2705434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-16
下一篇 2022-08-16

发表评论

登录后才能评论

评论列表(0条)

保存