DatagramSocket收发UDP数据包

Java的Socket通信分为TCP和UDP两种,Socket和ServerSocket类用于TCP通信,DatagramSocket用于UDP通信。

使用DatagramSocket发送UDP数据包时,首先new一个DatagramPacket,再给DatagramPacket设定目的地的IP地址和端口,然后使用DatagramSocket发送出去。

 

		DatagramSocket sct;
		DatagramPacket pkt;
		try{
              		
			pkt = new DatagramPacket(b_total,2);
			pkt.setAddress(InetAddress.getByName(MainActivity.address_server));
			pkt.setPort(MainActivity.port_server);
			sct.send(pkt);	
		}
		catch(Exception e){
			
		}

接收数据包时,首先new一个DatagramPacket,然后用DatagramSocket接收数据包,可以使用DatagramPacket的getData()方法读出数据包里面的数据,存储在byte数组里面。 

	    public static DatagramSocket client_ds;  
	    public static DatagramPacket client_dp;
	    public static byte[] tmp_byte;
		try{
			client_dp = new DatagramPacket(client_buffer, client_buffer.length);
			// 接收数据包
			client_ds.receive(client_dp);
			tmp_byte = client_dp.getData();
		}
		catch (Exception e){
		}

 

 

你可能感兴趣的:(DatagramSocket)