- 36
- 1
- 5
Привет!
Для определенной задачи мне необходимо реализовать пакет, который будет с клиента на сервер передавать массив строк. Сам пакет я регистрировать умею, с помощью SimpleNetworkWrapper все сделал, а вот в самом пакете трудности.
Написал следующий код:
Насколько это правильно? И правильно вообще? Как правильно реализовать передачу массива пакетом?
Буду рад любой подсказке.
Для определенной задачи мне необходимо реализовать пакет, который будет с клиента на сервер передавать массив строк. Сам пакет я регистрировать умею, с помощью SimpleNetworkWrapper все сделал, а вот в самом пакете трудности.
Написал следующий код:
MessageSetData.java:
public class MessageSetData implements IMessage {
private String[] data = new String[82];
private int x;
private int y;
private int z;
public MessageSetData(String[] data, int x, int y, int z) {
this.data = data;
this.x = x;
this.y = y;
this.z = z;
}
@Override
public void fromBytes(ByteBuf buf) {
this.data = new String[]{ByteBufUtils.readUTF8String(buf)};
x = buf.readInt();
y = buf.readInt();
z = buf.readInt();
}
@Override
public void toBytes(ByteBuf buf) {
ByteBufUtils.writeUTF8String(buf, Arrays.toString(this.data));
buf.writeInt(x);
buf.writeInt(y);
buf.writeInt(z);
}
public static class Handler implements IMessageHandler<MessageSetData, IMessage> {
@Override
public IMessage onMessage(MessageSetData packet, MessageContext ctx) {
Invoke.server(() -> {
...
});
return null;
}
}
}
Насколько это правильно? И правильно вообще? Как правильно реализовать передачу массива пакетом?
Буду рад любой подсказке.