zoukankan      html  css  js  c++  java
  • 关于UDP协议

    UDP协议的特点。

    1.UDP是一个无连接协议,传输数据之前接收端和发送端之间不建立连接。

    想传输数据的时候就抓取数据扔出去,不监控是否被正确和全面的接受到。

    2.因为不需要建立连接,也就不需要维护连接状态,会因此一台发送机器可以向多台接收机器传输相同的信息,只需要管理IP和接口。

    3.UDP具有较好的实时性,效率高。原因在于UDP在传输数据的时候不建立逻辑连接,也不想TCP那样对数据进行检查。

    UDP的使用场景

    网络游戏,视频聊天和语音聊天类对实时性要求比较强的应用软件。

    例如:在聊天的过程中如果出现丢包现象的话,充其量觉得有些卡顿,一般情况下要求对方从复一遍既可,不影响聊天的整体效果。

    并且网络状况较好的时候,这种情况很少发生。

    public class Client_Udp {
    
        public static void main(String[] args) throws Exception {
            System.out.println("数据准备发送中");
            //1、使用DatagramScoket 指定端口 创建发送端
            DatagramSocket dgs =new DatagramSocket(8888);
            
            //2、准备数据一定转成字节数组
            String data="数据传输成功";
            byte[] datas=data.getBytes();
            
            //3、封装成DatagraPacket包裹,需要指定目的地
            DatagramPacket dgp =new DatagramPacket(datas, 0, datas.length, new InetSocketAddress("localhost",9999));
            
            //4、发送包裹Send()
            dgs.send(dgp);
    
            dgs.close();
        }
    public class Server_Udp {
    
        public static void main(String[] args) throws Exception {
            System.out.println("数据接收中!");
            
            //1.使用DatagramSocket创建端口,指定接收端。
            DatagramSocket dgs=new DatagramSocket(9999);
            
            //2.准备容器封装成DatagramPacket包裹
            byte[] container =new byte[1024*60];
            DatagramPacket dgp =new DatagramPacket(container, 0,container.length);
            
            //3.阻塞式接受包裹receive
            dgs.receive(dgp);
            
            //4.分析数据
            byte[] data=dgp.getData();
            String st=new String(data,0,data.length);
            System.out.println(st);
            
            dgs.close();
  • 相关阅读:
    线程,协程
    python魔法方法详解
    Sorted方法排序用法
    time模块
    Haroopad安装与配置: Linux系统下最好用的Markdown编辑器
    C++ Primer第五版答案
    Ubuntu14.04安装有道词典(openyoudao)
    Ubuntu14.04下Sublime Text 3解决无法输入中文
    OpenLTE安装教程
    GNU Radio: Overview of the GNU Radio Scheduler
  • 原文地址:https://www.cnblogs.com/HappyBeibei/p/11184317.html
Copyright © 2011-2022 走看看