bugfix: SocketUDP converte para Mensagem antes de enviar ao plugin

This commit is contained in:
GustavoHMDS 2026-09-08 01:37:03 -03:00
parent b610ec20e1
commit 93ac292f72
1 changed files with 22 additions and 1 deletions

View File

@ -15,6 +15,7 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import pitiupi.net.HeartbeatMessage; import pitiupi.net.HeartbeatMessage;
import pitiupi.net.Message;
import pitiupi.plugin.Plugin; import pitiupi.plugin.Plugin;
/** /**
@ -147,9 +148,15 @@ public class SocketUDP extends Thread {
main.getHeartbeatManager().receiveHeartbeat(heartbeat, msgPacket.getAddress()); main.getHeartbeatManager().receiveHeartbeat(heartbeat, msgPacket.getAddress());
continue; continue;
} }
Message message = tryParseMessage(msgPacket.getData());
if (message == null) {
continue;
}
for (Plugin plugin : main.getPlugins()) { for (Plugin plugin : main.getPlugins()) {
System.out.println(msgPacket.getAddress().toString()); System.out.println(msgPacket.getAddress().toString());
plugin.receiveMessage(msgPacket.getData()); plugin.receiveMessage(message);
} }
} }
} }
@ -172,6 +179,20 @@ public class SocketUDP extends Thread {
} }
} }
private Message tryParseMessage(byte[] data) {
try {
ByteArrayInputStream bis = new ByteArrayInputStream(data);
ObjectInputStream ois = new ObjectInputStream(bis);
Object object = ois.readObject();
if (object instanceof Message message) return message;
return null;
} catch (IOException | ClassNotFoundException ex) {
return null;
}
}
/** /**
* Inicia a recepção de mensagens UDP. * Inicia a recepção de mensagens UDP.
*/ */