Я пытаюсь создать приложение для управления каналами DMX.Для этого у меня есть ESP8266, который принимает строку как «2.255», где первое целое число является каналом DMX, а второе целое значение.
Для моего ПК я написал метод, который сначала строитстроку и затем отправьте его на IP-адрес ESP8266 через сокет.
for(DMXChannel c : list){
if(lastvalue.get(c.getChannelID() - 1) != c.getValue()){
try {
String msg = c.getChannelID() + "." + c.getValue();;
DatagramSocket clientSocket = new DatagramSocket();
InetAddress ipaddr = InetAddress.getByName(ip); //IP Address is "192.168.4.1"
byte[] sendData = new byte[1024];
sendData = msg.getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, ipaddr, 8888);
clientSocket.send(sendPacket);
clientSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Это работает нормально, но у меня проблема, когда я пытаюсь сделать затухание.Частота этого фрагмента кода кажется слишком медленной.
У кого-нибудь есть "более быстрое" решение?