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 : matplotlib does not work in Eclipse
    在线代码生成器的设计和使用
    Hama——BSP、Graph教程
    oozie:hadoop中的工作流引擎
    oracle命令建库全过程
    IntelliJ IDEA 自动生成方法注释(含参数及返回值)转+亲测IDEA2018.3
    转:Can't connect to MySQL server on 'XXXX' (10055) 解决方案
    资源的释放
    java中的break、continue、return的区别
    解析xml文件的方式
  • 原文地址:https://www.cnblogs.com/denggelin/p/6354043.html
Copyright © 2011-2022 走看看