創建一個UDP的接收端

/*思路:
 * 1.創建一個socket服務對象,注意,此處必須明確一個端口號,否則無法接受成功
 * 2.創建一個用於存儲接受數據的數據包,方便使用數據包對象的方法解析其中數據
 * 3.使用socket的receive方法把就收到的數據存入數據包中
 * 4.通過數據包的方法解析存儲進來的數據
 * 5.關閉資源
 */
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketAddress;

public class receiver {
	public static void main(String[] agrs) throws IOException{
	//第一,創建一個socket服務對象
	DatagramSocket ds = new DatagramSocket(10000);
	
	//第二步,創建一個用於存儲接受數據的數據包
	byte[] b = new byte[1024];
	DatagramPacket dp = new DatagramPacket(b,b.length);
	
	//第三步,利用socket的receive方法把接受到的數據存儲進數據包中
	ds.receive(dp);
	
	//第四步,使用dp對象的方法解析其中數據
	String hostname = dp.getAddress().getHostName();
	int port = dp.getPort();
	SocketAddress ska = dp.getSocketAddress();//此處的socketaddress對象是ip+port
	InetAddress inet = dp.getAddress();//這裏的InetAddress對象是hostname+hostaddress
	String text = new String(dp.getData(),0,dp.getLength());
	System.out.println(hostname+","+port+","+inet+","+ska+","+text);
	
	//第五步,關閉資源
	ds.close();
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章