• Java 简单UDP通信


    发送端

    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    import java.net.SocketException;
    
    /**
     * UDP 发送端
     * @author Administrator
     *
     */
    public class Demo2 {
        public static void main(String[] args) throws Exception {
            
            /**
             * 准备发送端
             * DatagramSocket()
             * 构造一个数据报套接字绑定到本地主机机器上的任何可用的端口。 
             */
            DatagramSocket ds = new DatagramSocket();
            
            /**
             * 准备数据包
             *1、 DatagramPacket(byte[] buf, int length)
             * 构造一个 DatagramPacket length接收数据包的长度
             *2、 String的getBytes()
             * 方法是得到一个操作系统默认的编码格式的字节数组
             *3、 setSocketAddress()
             * 设置SocketAddress(通常是IP地址+端口号)都的远程主机发送数据报。
             * 4、InetSocketAddress(InetAddress addr, int port)
             * 创建一个套接字地址的IP地址和端口号。 
             */
            String str = "你好,UDP";
            byte[] ch = str.getBytes();
            
            DatagramPacket dp = new DatagramPacket(ch, ch.length);
            dp.setSocketAddress(new InetSocketAddress("127.0.0.1", 12345));
            
            // 发送数据
            ds.send(dp);
            
            // 关闭套接字
            ds.close();
            
        }
    }

    接收端

    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.SocketException;
    
    /**
     * UDP 接收端
     * @author Administrator
     *
     */
    public class Demo3 {
        public static void main(String[] args) throws Exception {
            
            // 创建接收端
            DatagramSocket ds = new DatagramSocket(12345); 
            
            /**
             * 接收数据包
             * receive(DatagramPacket p)
             * 从这个套接字接收数据报包。 
             */
            byte[] data = new byte[1024];
            DatagramPacket dp = new DatagramPacket(data, data.length);
            ds.receive(dp);
            
            // 获取接受到的信息
            String str = new String(data, 0, dp.getLength());
            System.out.println(str);
            
            // 关闭接收端
            ds.close();
        }
    }
  • 相关阅读:
    【Ogre编程入门与进阶】第二章 Ogre相关知识回顾 【转载】
    Ogre1.7.2 + CEGUI0.7.5环境配置 【转载】 需要配制出自己的基础环境
    JS_模拟广告栏跟随效果
    JS_模拟电商网站放大镜效果
    JS_图片轮播事件
    JS_DOM事件之鼠标事件之随鼠标移动
    JS_DOM之小球随鼠标移动事件
    JS_DOM事件温习
    JS_原型和继承之小案例
    JS_生成随机矩形位置/矩形大小_面向对象_原型+构造函数模式
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/9544159.html
Copyright © 2020-2023  润新知