zoukankan      html  css  js  c++  java
  • UDP

    * UDP协议接收数据:
    * A:创建接收端Socket对象
    * B:创建一个数据包(接收容器)
    * C:调用Socket对象的接收方法接收数据包
    * D:解析数据包,并显示在控制台
    * E:释放资源

    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    
    /*
     * UDP协议接收数据:
     * A:创建接收端Socket对象
     * B:创建一个数据包(接收容器)
     * C:调用Socket对象的接收方法接收数据包
     * D:解析数据包,并显示在控制台
     * E:释放资源
     * */
    
    public class ReceiveDemo {
    	public static void main(String[] args) throws IOException {
    		// * A:创建接收端Socket对象
    		DatagramSocket ds = new DatagramSocket(10086);
    
    		// * B:创建一个数据包(接收容器)
    		// DatagramPacket(byte buf[],int length)
    		byte bys[] = new byte[1024];
    		DatagramPacket dp = new DatagramPacket(bys, bys.length);
    
    		// * C:调用Socket对象的接收方法接收数据包
    		// public void receive(DatagramPacket p);
    		ds.receive(dp);
    
    		// * D:解析数据包,并显示在控制台
    		// 获取对方的IP
    		// public InetAddress getAddress();
    		InetAddress address = dp.getAddress();
    		String ip = address.getHostAddress();
    		// public byte[] getData();获取数据缓冲区
    		// public int getLength();获取数据的实际长度
    		byte bys2[] = dp.getData();
    		int length2 = dp.getLength();
    		String s = new String(bys, 0, length2);
    		System.out.println(ip + ":" + s);
    
    		// * E:释放资源
    		ds.close();
    	}
    }
    

    * UDP协议发送数据:
    * A:创建发送端Socket对象
    * B:创建数据,并把数据打包
    * C:调用Socket对象的发送方法发送数据包
    * D:释放资源

    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    
    /*
     * UDP协议发送数据:
     * A:创建发送端Socket对象
     * B:创建数据,并把数据打包
     * C:调用Socket对象的发送方法发送数据包
     * D:释放资源
     * */
    
    public class SendDemo {
    	public static void main(String[] args) throws IOException {
    		// * A:创建发送端Socket对象
    		DatagramSocket ds = new DatagramSocket();
    
    		// * B:创建数据,并把数据打包
    		// DatagramPacket(byte buf[],int length,InetAddress address,int port);
    		// 创建数据
    		byte bys[] = "hello udp".getBytes();
    		// 长度
    		int length = bys.length;
    		// IP地址对象
    		InetAddress address = InetAddress.getByName("192.168.0.102");
    		// 端口
    		int port = 10086;
    		DatagramPacket dp = new DatagramPacket(bys, length, address, port);
    
    		// * C:调用Socket对象的发送方法发送数据包
    		ds.send(dp);
    
    		// * D:释放资源
    		ds.close();
    	}
    }
    

     

  • 相关阅读:
    Python字符串
    MySQL触发器
    MySQL 1418报错解决办法
    数据库下载
    补码与反码
    二、八、十六进制之间的转换
    this 指向
    作用域 var 词法分析 arguments
    事件绑定的3种方式
    清浮动方法小结
  • 原文地址:https://www.cnblogs.com/denggelin/p/6354043.html
Copyright © 2011-2022 走看看