【JAVA 网络编程之UDP编程实战】


 

服务端代码:

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;

import java.net.SocketException;

public class UDPServer {

/**

* @param args

* @throws Exception 

*/

public static void main(String[] args) throws Exception {

DatagramSocket ds = new DatagramSocket();  

         String str = "haha, my name is UDPServer!";  

       //发送给本机的地址,端口为8000  

         DatagramPacket dp = new DatagramPacket(str.getBytes(),0,str.length(), InetAddress.getByName("localhost"),8000);

         ds.send(dp);  

         //演示接受返回回来的数据。  

         byte[] buf = new byte[100];  

         DatagramPacket dp2 = new DatagramPacket(buf,100);//字节数组,长度  

         ds.receive(dp2);  

         System.out.println(new String(buf,0,dp2.getLength()));  

         ds.close();  

}

}

客户端代码:

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.SocketException;

public class UDPClient {

/**

* @param args

* @throws Exception 

*/

public static void main(String[] args) throws Exception {

DatagramSocket ds = new DatagramSocket(8000);  

         byte [] buf = new byte[100];  

         DatagramPacket dp = new DatagramPacket(buf,100);  

         ds.receive(dp);   

         System.out.println(new String(buf,0,dp.getLength()));  

         //演示给发送端返回数据,需要发送端去接受  

         String str = "UDPClient Say:Yes , I received!";  

         DatagramPacket dp1 = new DatagramPacket(str.getBytes(),str.length(),  

         dp.getAddress(),dp.getPort());  

         ds.send(dp1);  

         ds.close();       

}

}



 

猜你喜欢

转载自gaojingsong.iteye.com/blog/2320513