创建一个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();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值