ved*_*boy 3 java networking instanceof packet kryonet
我正在使用kryonet从服务器和客户端来回发送对象.只要收到对象,就会运行一个侦听器.它似乎决定对象实例的唯一方法是使用:
if(object instanceof ClientLoginPacket){
//Do stuff
}
Run Code Online (Sandbox Code Playgroud)
我想知道什么是instanceof检查以确定对象是否属于特定类型.它检查类是否与所有代码完全相同,是否检查变量和名称?它也检查导入的包吗?你给我的任何信息都可以提供帮助.
我想知道这个的原因是因为我制作数据包的方式,服务器方法中的代码与客户端不同.例如,在我的客户端发送数据包我做:
public void send(){
Client.sendPacketTCP(this);
}
Run Code Online (Sandbox Code Playgroud)
在我的服务器上我这样做:
public void send(){
Server.sendPacketTCP(this);
}
Run Code Online (Sandbox Code Playgroud)
instanceof是一个jvm指令,它可能是本机代码,但规范说它必须这样做:
我真的不认为它检查变量及其名称,这是没用的.它必须遍历类层次结构,直到它可以证明它是某种类型:extends,implements或它是同一个类
| 归档时间: |
|
| 查看次数: |
270 次 |
| 最近记录: |