java UDP通信的原理

发布于:2023-01-11 ⋅ 阅读:(423) ⋅ 点赞:(0)

  原理 Java学习笔记icon-default.png?t=M7J4http://www.mobiletrain.org/note/java/

  1、UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接收数据的对象

  2、基于UDP协议的通信双方而言,没有所谓的客户端和服务器端概念

  Java提供了DatagramSocket类作为基于UDP协议的Socket

  实例

  package test;

  import java.io.BufferedReader;

  import java.io.InputStreamReader;

  import java.net.DatagramPacket;

  import java.net.DatagramSocket;

  import java.net.InetAddress;

  /**

  * UDPCLient deom

  * @author <dht925nerd@126.com>

  */

  public class UDPClient {

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

  DatagramSocket clientSocket = new DatagramSocket();

  BufferedReader inFromUser =

  new BufferedReader(

  new InputStreamReader(System.in)

  );

  //获取本地 IP 地址

  InetAddress IPAddress = InetAddress.getLocalHost();

  byte[] sendData;

  byte[] receiveData = new byte[1024];

  System.out.println("请输入一句英文,服务器会返回其大写形式(输入exit退出)");

  while (true) {

  String sentence = inFromUser.readLine();

  if (sentence.equals("exit")) break;

  sendData = sentence.getBytes();

  //创建发送数据报包,并标注源地址#,目的地址#

  DatagramPacket sendPacket =

  new DatagramPacket(sendData, sendData.length, IPAddress, 9876);

  //发送数据报包

  clientSocket.send(sendPacket);

  //创建接收数据报包

  DatagramPacket receivePacket =

  new DatagramPacket(receiveData, receiveData.length);

  //接收服务器的数据报包

  clientSocket.receive(receivePacket);

  String modifiedSentence = new String(receivePacket.getData());

  System.out.println("FROM SERVER: " + modifiedSentence);

  }

  clientSocket.close();

  }

  }

  以上就是java UDP通信的原理,希望对大家有所帮助。IT学习笔记icon-default.png?t=M7J4http://www.mobiletrain.org/note/

 


网站公告

今日签到

点亮在社区的每一天
去签到