bugfix: SocketUDP converte para Mensagem antes de enviar ao plugin
This commit is contained in:
parent
b610ec20e1
commit
93ac292f72
|
|
@ -15,6 +15,7 @@ import java.util.logging.Level;
|
|||
import java.util.logging.Logger;
|
||||
|
||||
import pitiupi.net.HeartbeatMessage;
|
||||
import pitiupi.net.Message;
|
||||
import pitiupi.plugin.Plugin;
|
||||
|
||||
/**
|
||||
|
|
@ -147,9 +148,15 @@ public class SocketUDP extends Thread {
|
|||
main.getHeartbeatManager().receiveHeartbeat(heartbeat, msgPacket.getAddress());
|
||||
continue;
|
||||
}
|
||||
|
||||
Message message = tryParseMessage(msgPacket.getData());
|
||||
if (message == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (Plugin plugin : main.getPlugins()) {
|
||||
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.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue