난 리스너를 확장 내 클래스 코드의이 작은 조각이 모든 패킷이 구현하는 handle() 메소드. 그런 다음 향후 처리를 위해 ConcurrentLinkedQueue에 추가합니다. 내가 서버에 UDP 패킷을 보낼 몇 개의 키를 스팸 후Kryonet 예외
하지만, 다음과 같은 예외가 발생합니다 :
예외 스레드 "서버"java.lang.ClassCastException가의 : com.esotericsoftware.kryonet .FrameworkMessage $ KeepAlive는 을 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 java.lang.Thread.run에서 com.esotericsoftware.kryonet.Server.run (Server.java:356)에서 (Server.java:208) (알 소스)
예외는 캐스트에서 발생합니다. 즉,
Packet packet = (Packet) object;
어떻게 가능합니까? 도대체 "FrameworkMessage $ KeepAlive"는 무엇부터 시작합니까? 왜 내 수신 청취자에게 들어갔습니까?
무엇이 잘못 되었습니까? 내 실수입니까, 버그입니까?