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

    服务端

    服务端是作为信息的接收方

    package com.demo02.demo01.udp.demo01;
    
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    /**
     * 服务端
     * 1、创建服务端 +端口
     * 2、准备接受容器
     * 3、封装成 包
     * 4、接受数据
     * 5、分析数据  
     * 6、释放
     */
    public class MyServer {
        /**
         * @param args
         * @throws IOException 
         */
        public static void main(String[] args) throws IOException {
               //1、创建服务端 +端口
               DatagramSocket server = new DatagramSocket(8888);//{ip:port}
               //2、准备接受容器
               byte[] container = new byte[1024];
               //3、封装成 包 DatagramPacket(byte[] buf, int length)             
               DatagramPacket packet =new DatagramPacket(container,container.length) ;
               System.out.println(1);
               //4、接受数据----阻塞状态
               server.receive(packet);
               System.out.println(2);
               //5、接收到数据之后,执行分析数据
               byte[] data =packet.getData();
               int len =packet.getLength();
               System.out.println(new String(data,0,len));
               //6、释放
               server.close();
               
        }
    }

    客户端

    客户端作为信息的提交方

    package com.demo02.demo01.udp.demo01;
    
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    /**
     * 客户端
     * 1、创建客户端 +端口
     * 2、准备数据
     * 3、打包(发送的地点 及端口)
     * 4、发送
     * 5、释放
     */
    public class MyClient {
        /**
         * @param args
         * @throws IOException 
         */
        public static void main(String[] args) throws IOException {
               //1、创建客户端 +端口
               DatagramSocket client = new DatagramSocket(6666);
               //2、准备数据
               String msg ="udp编程";
               byte[] data =msg.getBytes();
               //3、打包(发送的地点 及端口)
               //DatagramPacket(byte[] buf, int length, InetAddress address, int port)
               DatagramPacket packet = new DatagramPacket(//
                       //new InetSocketAddress("localhost",8888) 找到传输对象的套接字(ip:port)
                       data,data.length,new InetSocketAddress("localhost",8888));
               //4、发送
               client.send(packet);
               //5、释放
               client.close();
        }
    }
  • 相关阅读:
    Picture Control点击事件
    在C/C++中获取可执行文件的图标和信息
    C++获取系统图标方法
    C++ Vector 使用总结
    C++中vector和list的区别
    STL STD::list使用说明
    演示My97 DatePicker过程中的错误
    HTML5的语法变化
    利用 ACE 来实现 UDP 通讯
    VS2010中“工具>选项中的VC++目录编辑功能已被否决”解决方法
  • 原文地址:https://www.cnblogs.com/HelloM/p/14149669.html
Copyright © 2011-2022 走看看