zoukankan      html  css  js  c++  java
  • java UDP网路编程

    大家都知道java中的socket网络编程,而其采用的协议分别有tcp和udp协议两种.

    通常的理解tcp协议类似于打电话,udp类似于发短信.前者是线程安全的,但是效率比较低.后者则刚好相反.

    今天就做个demo来了解一下udp网络编程.

    首先是客户端:

    package javasocket.demo;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    
    /**
     * 1.创建客户端
     * 2.准备数据
     * 3.打包数据
     * 4.发送数据
     * 5.关闭
     * @author Administrator
     *
     */
    public class UdpSocketClientDemo {
    
        public static void main(String[] args) throws Exception {
            //客服端
            DatagramSocket client=new DatagramSocket(8000);
            String msg="UDP";
            byte[] data =msg.getBytes();
            DatagramPacket dp=new DatagramPacket(data, data.length,new InetSocketAddress("localhost",8888));
            client.send(dp);
            client.close();
        }
    }

    服务器:

    package javasocket.demo;
    
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    
    /**
     * 服务端
     * 1.创建服务端和接口
     * 2.准备接受容器
     * 3.封装成包
     * 4.接受数据
     * 5.分析数据
     * 6.关闭
     * @author bgt
     *
     */
    public class UdpSocketServerDemo {
    
        public static void main(String[] args) throws Exception {
            //服务端
            DatagramSocket server=new DatagramSocket(8888);
            byte[] container=new byte[1024];
            DatagramPacket dp=new DatagramPacket(container, container.length);
            server.receive(dp);
            byte[] data=dp.getData();
            int len=dp.getLength();
            System.out.println(new String(data,0,len));
            server.close();
        }
    }
  • 相关阅读:
    wcdb中使用rowid做查询条件
    [转载]Linux下断开SSH连接后,让程序继续在后台执行
    Mac OS X wants to use the “system” keychain 的解决方案
    wcdb的主键和唯一性
    type(),dir(),getattr(),hasattr(), isinstance()用法
    获取昨天日期
    二分法
    三次握手和四次挥手
    py2和py3之间的不同
    flask 接收参数小坑
  • 原文地址:https://www.cnblogs.com/LT0314/p/3785239.html
Copyright © 2011-2022 走看看