我有我的課這一小塊代碼延伸監聽器:Kryonet異常
@Override
public void received(Connection connection, Object object)
{
Packet packet = (Packet) object;
server.addPacket(new ClientPacket(connection.getID(), packet));
}
每當我收到一個對象,我投它叫包帶接口方法handle()每個包實現的。然後將其添加到ConcurrentLinkedQueue以供將來處理。
不過,以後我該垃圾郵件發送UDP數據包到服務器的幾個鍵,下面的異常被拋出:
異常在線程「服務器」 java.lang.ClassCastException: com.esotericsoftware.kryonet .FrameworkMessage $ KeepAlive無法投射到012xx到com.xkynar.game.net.packet.Packet在 com.xkynar.game.net.ServerSocket.received(ServerSocket.java:70)在 com.esotericsoftware.kryonet.Server $ 1 .received(Server.java:61)at com.esotericsoftware.kryonet.Connection.notifyReceived(Connection.java:246) at com.esotericsoftware .kryonet.Server.update(Server.java:208)在 com.esotericsoftware.kryonet.Server.run(Server.java:356)在 java.lang.Thread.run(未知來源)
劇組發生異常,即:
Packet packet = (Packet) object;
這怎麼可能?什麼是「FrameworkMessage $ KeepAlive」開始?爲什麼它進入我收到的聽衆?
請說明什麼是錯,是我的錯誤還是錯誤?