UDP--java开发小demo

1.udp是什么?

  • 全称为User Datagram Protocol,用户数据报协议
  • 无连接的传输协议
  • 无连接、不可靠、快速传输

2.和TCP有什么区别?

  • TCP是面向连接,udp是无连接,两者都是Internet传输层的主要协议

3.应用场景?

//发送端
public class TestUdp {
	public static void main(String[] args)  {
		DatagramSocket dSocket;
		try {
			//指定本地端口
			dSocket = new DatagramSocket(45000);
			//创建发送类型的数据包,设置接收端的ip和端口号以及需要发送的信息
			DatagramPacket dPacket = new DatagramPacket("cq1234567".getBytes(), "cq1234567".length(), InetAddress.getByName("x.x.x.x"), 8080);
			//发送信息
			dSocket.send(dPacket);
			
			//创建接收缓冲区
			byte[]  bt = new byte[1024];
			//创建接收类型的数据包
			DatagramPacket rePacket = new DatagramPacket(bt, bt.length);
			//接收响应信息
			dSocket.receive(rePacket);
			
			//打印接收的信息
			String daString = new String(rePacket.getData(),0,rePacket.getLength());
			System.out.println(daString);
			
			dSocket.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}




//接收端
public class TestReceiverUdp {
	public static void main(String[] args) {
		try{
			//指定接收端的端口
			int port = 8080;
			DatagramSocket socket = new DatagramSocket(port);
			
			byte[] bt = new byte[1024];
			DatagramPacket rePacket = new DatagramPacket(bt,bt.length);
			socket.receive(rePacket);
			String string = new String(rePacket.getData(),0,rePacket.getLength());			
			System.out.println(string);			
			byte[]  sendbyte = "testcq".getBytes();
			DatagramPacket sendPac = new DatagramPacket(sendbyte, sendbyte.length, InetAddress.getByName("x.x.x.x"), 45000);
			socket.send(sendPac);
			socket.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值