学习Java(82)_基于UDP的socket编程_接收端程序

基于UDP的socket编程步骤
1、定义一个 DatagramSocket 对象 ds 。
2、定义 DatagramPacket 对象 dp 。
3、使用 dp ,接收对方发过来的数据( ds.receive( dp ) );
或者 把数据发送给对方( ds.send( dp ) )。
4、关闭(ds.close())。
接收端程序演示:
import java.net.*;
import java.io.*;
class TestUDPServer
{
	public static void main( String[] args ) throws Exception
	{
		//构造函数中自定义端口号
		DatagramSocket ds = new DatagramSocket( 6789 );
		
		//定义一个字节数组
		byte[] buf = new byte[1024];
		DatagramPacket dp = new DatagramPacket( buf, buf.length );
		try
		{
			//不间断的监听是否有消息发来
			while( true )
			{
				//接收到数据
				ds.receive( dp );
				//注意:本语句执行完毕就意味着,dp数据包中就已经含有了从客户端接收过来的数据
				
				//取出数据,用到了流的知识
				byte[] arr = dp.getData(); //从dp中取出字节数组
				
				//和字节数组建立流
				ByteArrayInputStream bais = new ByteArrayInputStream( arr );
				
				//使用数据流进行包裹
				DataInputStream dis = new DataInputStream( bais );
				
				//读出数据
				System.out.println( dis.readUTF() );
			}
		}
		catch( Exception e )
		{
			e.printStackTrace();
			ds.close();
		}
	}
}
/*
	在JDK1.8.0_91中运行的结果是:
	============================
	E:\textjava>java TestUDPServer
	你好啊!
	很高兴认识你!
	============================
	总结:
		几个关键步骤一定要搞清楚。
*/


小艾的博客 http://www.aixinyan.me/