JAVA_UDP发送端和接受端

/*


	通过UDP传输方式,将一段文字数据发送出去
1.建立udpsocket服务
2.提供数据,并将数据封装到数据包中。
3.通过socket服务的发送功能。将数据包发出去
4.关闭资源

类:
	DatagramPacket	封装数据包
	DatagramSocket	创建UDP服务
*/


import java.net.*;

class UdpSend
{
	public static void main(String[] args)throws Exception 
	{
		DatagramSocket ds  = new DatagramSocket();
		byte[] buf = "UDP Demo".getBytes();
		DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10000);//10000为定义的端口	
		ds.send(dp);
		ds.close();
	}
}

/*
	定义一个应用程序,用于接受udp协议传输的数据并处理
1.定义udpsocket服务
2.定义一个数据包类,用于存放接受到的数据包(字节数据)。并使用该类处理数据
3.通过socket服务的receive方法接受的数据出入已定义的数据包类中
4.使用数据包类功能处理数据
5.关闭资源
*/


class UdpReceive
{
	public static void main(String[] args)throws Exception
	{
		//创建UDP socket,建立端点
		DatagramSocket ds = new DatagramSocket(10000);	//监听10000端口

		//定义数据包,用于存储数据
		byte[] buf = new byte[1024];
		DatagramPacket dp = new DatagramPacket(buf,buf.length);

		ds.receive(dp);	

		String ip = dp.getAddress().getHostAddress();	//数据提取
		String data = new String(dp.getData(),0,dp.getLength());
		int port = dp.getPort();
		System.out.println(data+"."+port+".."+ip);
		ds.close();
	}
}

你可能感兴趣的:(Java)