本文整理汇总了Java中cn.nukkit.network.protocol.BatchPacket类的典型用法代码示例。如果您正苦于以下问题:Java BatchPacket类的具体用法?Java BatchPacket怎么用?Java BatchPacket使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BatchPacket类属于cn.nukkit.network.protocol包,在下文中一共展示了BatchPacket类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: broadcastPacketsCallback
import cn.nukkit.network.protocol.BatchPacket; //导入依赖的package包/类
public void broadcastPacketsCallback(byte[] data, List<String> identifiers) {
BatchPacket pk = new BatchPacket();
pk.payload = data;
for (String i : identifiers) {
if (this.players.containsKey(i)) {
this.players.get(i).dataPacket(pk);
}
}
}
示例2: broadcastPacketsCallback
import cn.nukkit.network.protocol.BatchPacket; //导入依赖的package包/类
public void broadcastPacketsCallback(byte[] data, List<String> identifiers) {
BatchPacket pk = new BatchPacket();
pk.payload = data;
pk.encode();
pk.isEncoded = true;
for (String i : identifiers) {
if (this.players.containsKey(i)) {
this.players.get(i).dataPacket(pk);
}
}
}
示例3: handleDataPacket
import cn.nukkit.network.protocol.BatchPacket; //导入依赖的package包/类
public void handleDataPacket(SynapseDataPacket pk) {
this.handleDataPacketTiming.startTiming();
//this.getSynapse().getLogger().warning("Received packet " + pk.pid() + "(" + pk.getClass().getSimpleName() + ") from " + this.serverIp + ":" + this.port);
switch (pk.pid()) {
case SynapseInfo.DISCONNECT_PACKET:
DisconnectPacket disconnectPacket = (DisconnectPacket) pk;
this.verified = false;
switch (disconnectPacket.type) {
case DisconnectPacket.TYPE_GENERIC:
this.getSynapse().getLogger().notice("Synapse Client has disconnected due to " + disconnectPacket.message);
this.synapseInterface.reconnect();
break;
case DisconnectPacket.TYPE_WRONG_PROTOCOL:
this.getSynapse().getLogger().error(disconnectPacket.message);
break;
}
break;
case SynapseInfo.INFORMATION_PACKET:
InformationPacket informationPacket = (InformationPacket) pk;
switch (informationPacket.type) {
case InformationPacket.TYPE_LOGIN:
if (informationPacket.message.equals(InformationPacket.INFO_LOGIN_SUCCESS)) {
this.getSynapse().getLogger().notice("Login success to " + this.serverIp + ":" + this.port);
this.verified = true;
} else if (informationPacket.message.equals(InformationPacket.INFO_LOGIN_FAILED)) {
this.getSynapse().getLogger().notice("Login failed to " + this.serverIp + ":" + this.port);
}
break;
case InformationPacket.TYPE_CLIENT_DATA:
this.clientData = new Gson().fromJson(informationPacket.message, ClientData.class);
this.lastRecvInfo = System.currentTimeMillis();
//this.getSynapse().getLogger().debug("Received ClientData from " + this.serverIp + ":" + this.port);
break;
}
break;
case SynapseInfo.PLAYER_LOGIN_PACKET:
this.playerLoginQueue.offer((PlayerLoginPacket)pk);
break;
case SynapseInfo.REDIRECT_PACKET:
RedirectPacket redirectPacket = (RedirectPacket) pk;
UUID uuid = redirectPacket.uuid;
if (this.players.containsKey(uuid)) {
DataPacket pk0 = this.getSynapse().getPacket(redirectPacket.mcpeBuffer);
if (pk0 != null) {
this.handleRedirectPacketTiming.startTiming();
if (pk0.pid() == ProtocolInfo.BATCH_PACKET) pk0.setOffset(1);
pk0.decode();
SynapsePlayer player = this.players.get(uuid);
if (pk0.pid() == ProtocolInfo.BATCH_PACKET) {
this.processBatch((BatchPacket) pk0).forEach(subPacket -> {
this.redirectPacketQueue.offer(new RedirectPacketEntry(player, subPacket));
//Server.getInstance().getLogger().info("C => S " + subPacket.getClass().getSimpleName());
});
} else {
this.redirectPacketQueue.offer(new RedirectPacketEntry(player, pk0));
}
this.handleRedirectPacketTiming.stopTiming();
}
}
break;
case SynapseInfo.PLAYER_LOGOUT_PACKET:
this.playerLogoutQueue.offer((PlayerLogoutPacket)pk);
break;
case SynapseInfo.PLUGIN_MESSAGE_PACKET:
PluginMessagePacket messagePacket = (PluginMessagePacket) pk;
this.synapse.getMessenger().dispatchIncomingMessage(this, messagePacket.channel, messagePacket.data);
break;
}
//this.handleDataPacketTiming.stopTiming();
}