写一段Android 用UDP发送十六进制byte数组的代码
时间: 2023-04-09 13:03:48 浏览: 168
一款Android平台UDP双向通信源码
以下是一段Android用UDP发送十六进制byte数组的代码:
```
public void sendUDP(byte[] data) {
try {
DatagramSocket socket = new DatagramSocket();
InetAddress address = InetAddress.getByName("192.168.1.1"); // 目标IP地址
int port = 8888; // 目标端口号
DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
socket.send(packet);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
```
其中,data为要发送的十六进制byte数组,可以通过如下方式转换:
```
String hexString = "0123456789ABCDEF";
byte[] bytes = new byte[hexString.length() / 2];
for (int i = 0; i < bytes.length; i++) {
int high = hexString.indexOf(hexString.charAt(i * 2)) << 4;
int low = hexString.indexOf(hexString.charAt(i * 2 + 1));
bytes[i] = (byte) (high | low);
}
```
这段代码将一个十六进制字符串转换为byte数组,可以根据需要修改。
阅读全文