- 127
- 0
Здравствуйте. У меня тут проблема с пакетами. Я отправляю пакет на сервер с несколькими переменными, но консоль на меня ругается вот такой ошибкой:
Затем меня просто кикает с сервера и пишет, что буфер переполнен. Опыт в работе с пакетами у меня не большой, поэтому меня это ввело в ступр. Без вашей помощи я с места врядли сдвинусь...
Код отправки пакета и его обработки:
Код:
2015-02-22 21:44:20 [INFO] [STDERR] java.net.SocketException: socket closed
2015-02-22 21:44:20 [INFO] [STDERR] at java.net.DualStackPlainSocketImpl.accept0(Native Method)
2015-02-22 21:44:20 [INFO] [STDERR] at java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
2015-02-22 21:44:20 [INFO] [STDERR] at java.net.AbstractPlainSocketImpl.accept(Unknown Source)
2015-02-22 21:44:20 [INFO] [STDERR] at java.net.PlainSocketImpl.accept(Unknown Source)
2015-02-22 21:44:20 [INFO] [STDERR] at java.net.ServerSocket.implAccept(Unknown Source)
2015-02-22 21:44:20 [INFO] [STDERR] at java.net.ServerSocket.accept(Unknown Source)
2015-02-22 21:44:20 [INFO] [STDERR] at net.minecraft.server.ServerListenThread.run(ServerListenThread.java:80)
Затем меня просто кикает с сервера и пишет, что буфер переполнен. Опыт в работе с пакетами у меня не большой, поэтому меня это ввело в ступр. Без вашей помощи я с места врядли сдвинусь...
Код отправки пакета и его обработки:
Код:
else {
Packet250CustomPayload packet1 = new Packet250CustomPayload("packet", bos.toByteArray());
EntityClientPlayerMP player1 = (EntityClientPlayerMP) player;
PacketDispatcher.sendPacketToServer(packet1);
}
Код:
DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(packet.data));
Class clas = Class.get((EntityPlayer) player);
try {
clas.setMaxMana(inputStream.readFloat());
clas.setCurrentMana(inputStream.readFloat());
....
} catch (IOException e) {
e.printStackTrace();
return;
}