• 技术文章 >java >java基础

    java UDP通信的原理

    小妮浅浅小妮浅浅2021-08-03 09:28:26原创4328

    原理

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

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

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

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    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通信的原理,希望对大家有所帮助。更多Java学习指路:Java基础

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    专题推荐:java udp
    上一篇:java网络编程的三要素 下一篇:java中UDP如何发送数据

    相关文章推荐

    • java单例模式中的Holder是什么• java枚举类型的原理• java静态方法和非静态方法的介绍• java io和nio的区别• java进程和线程的关系• Java守护线程和用户线程的区别• Java runnable和callable的异同• java sleep()和wait()的区别• Java用户线程是什么• java守护线程的注意事项• java守护线程的执行优先级• java泛型类的使用语法• java泛型接口的使用注意• java方法参数中通配符的使用• java网络编程的三要素

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网