zoukankan      html  css  js  c++  java
  • Java UDP 数据报

    服务端,创建一个DatagramSocket对象,侦听在某个端口,创建一个DatagramPacket对象接受数据。收到客户端发来的信息后,有原封不动转发到客户端。

    public class DatagramServerTest {
    	public static void main(String[] args) throws IOException {
    		byte[] buf = new byte[1024];
    		DatagramPacket packet = new DatagramPacket(buf, 1024);
    		DatagramSocket server = new DatagramSocket(9000); //侦听本机9000端口UDP数据包
    		
    		server.receive(packet);
    		
    		String str = new String(buf,0,packet.getLength());
    		System.out.println("server get msg -> "+packet.getAddress().getHostName()+":"+str);
    		
    		server.send(new DatagramPacket(buf,packet.getLength(),packet.getAddress(),packet.getPort()));
    		
    		server.close();
    	}
    }
    

     客户端,创建一个DatagramSocket对象和一个DatagramPacket对象(包含目的主机的端口号9000和IP地址),调用send方法,发送数据.然后调用receive接受服务器的回传@

      

    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    import java.net.SocketException;
    import java.net.UnknownHostException;
    
    public class DatagramClientTest {
    	public static void main(String[] args) throws IOException {
    		//创建UDP的Socket
            InetAddress serverAddr = InetAddress.getByName("192.168.0.101");	//目的主机IP地址
    		DatagramSocket client = new DatagramSocket();//本地端口随机,直接创建DatagramSocket
    		
    		String str = "hello world, from " + InetAddress.getLocalHost().getHostName();
    		DatagramPacket packet = new DatagramPacket(str.getBytes(), str.length(), serverAddr, 9000);	//目的主机端口号9000
    		
    		client.send(packet);
    		byte[] buf = new byte[1024];
    		DatagramPacket pkt = new DatagramPacket(buf,1024);
    		client.receive(pkt);
    		String str1 = new String(buf,0,pkt.getLength());
    		System.out.println("client get -> "+packet.getAddress().getHostName()+":"+str1);
    		client.close();
    	}
    }
    
  • 相关阅读:
    京东咚咚架构演讲读后感
    京东峰值系统设计读后感
    游戏服务器的架构演讲读后感
    菜鸟弹性调度系统的架构设计读后感
    阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读读后感
    阿里游戏高可用架构设计实践读后感
    淘宝架构背后——零售业务中台架构设计探讨及实践读后感
    本地存储的时候需要类型转换
    禁止输入框显示用户历史输入历史记录
    项目必备!永无 bug 注释
  • 原文地址:https://www.cnblogs.com/fangying7/p/4676741.html
Copyright © 2011-2022 走看看