示例#1
0
 @Override
 public void writeData(DataOutputStream output) throws IOException {
   PacketUtil.writeString(output, fileName);
   PacketUtil.writeString(output, plugin);
   output.writeBoolean(compressed);
   output.writeInt(fileData.length);
   output.write(fileData);
 }
示例#2
0
 @Override
 public void readData(DataInputStream input) throws IOException {
   this.fileName = PacketUtil.readString(input);
   this.plugin = PacketUtil.readString(input);
   compressed = input.readBoolean();
   int size = input.readInt();
   this.fileData = new byte[size];
   input.readFully(fileData);
 }
示例#3
0
 @Override
 public void readData(DataInputStream input) throws IOException {
   cloudY = input.readInt();
   stars = input.readInt();
   sunPercent = input.readInt();
   moonPercent = input.readInt();
   sun = PacketUtil.readString(input, 256);
   moon = PacketUtil.readString(input, 256);
   skyColor = PacketUtil.readColor(input);
   fogColor = PacketUtil.readColor(input);
   cloudColor = PacketUtil.readColor(input);
 }
示例#4
0
 @Override
 public void writeData(DataOutputStream output) throws IOException {
   output.writeInt(cloudY);
   output.writeInt(stars);
   output.writeInt(sunPercent);
   output.writeInt(moonPercent);
   PacketUtil.writeString(output, sun);
   PacketUtil.writeString(output, moon);
   PacketUtil.writeColor(output, skyColor);
   PacketUtil.writeColor(output, fogColor);
   PacketUtil.writeColor(output, cloudColor);
 }
示例#5
0
  static {
    int i = 0;
    byte packetId = 0;
    header.packetId = ++packetId;

    fields[i] = PacketUtil.getField("VERSION", Fields.FIELD_TYPE_STRING);
    fields[i++].packetId = ++packetId;

    eof.packetId = ++packetId;
  }
示例#6
0
 public static void openBuggyInv(EntityPlayerMP player, IInventory buggyInv, int type) {
   player.incrementWindowID();
   player.closeInventory();
   int id = player.currentWindowId;
   player.playerNetServerHandler.sendPacketToPlayer(
       PacketUtil.createPacket(GalacticraftCore.CHANNEL, 28, new Object[] {id}));
   player.openContainer = new GCCoreContainerBuggy(player.inventory, buggyInv, type);
   player.openContainer.windowId = id;
   player.openContainer.addCraftingToCrafters(player);
 }
示例#7
0
  public void run() {
    try {
      int header_len = 2;
      int max_buffer_len = 102400;
      int tmp_buffer_len = 1024;
      int buffer_len = 0;
      byte[] buffer = new byte[max_buffer_len];
      byte[] tmp_buffer = new byte[tmp_buffer_len];

      System.out.println("connect success......");

      while (true) {
        int readLen = this.input.read(tmp_buffer);
        // System.out.println("readLen: " + readLen);
        System.arraycopy(tmp_buffer, 0, buffer, buffer_len, readLen);
        buffer_len += readLen;
        // System.out.println("buffer_len: " + buffer_len);

        if (buffer_len <= header_len) {
          continue;
        }
        while (true) {
          int package_len = PacketUtil.readUShort(buffer);
          // System.out.println("package_len: " + package_len);
          if (buffer_len < package_len + header_len) {
            break;
          }
          buffer_len -= package_len + header_len;
          byte[] buf = new byte[package_len];
          System.arraycopy(buffer, header_len, buf, 0, package_len);
          // System.arraycopy(buffer, 0, buffer, header_len + package_len, buffer_len);
          System.arraycopy(buffer, header_len + package_len, buffer, 0, buffer_len);
          // System.out.println("buffer_len: " + buffer_len);

          Packet packet = new Packet(buf);
          doMsg(packet);
        }
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
示例#8
0
 @Override
 public int getNumBytes() {
   return 64 + PacketUtil.getNumBytes(sun) + PacketUtil.getNumBytes(moon);
 }
示例#9
0
 @Override
 public int getNumBytes() {
   return PacketUtil.getNumBytes(fileName) + PacketUtil.getNumBytes(plugin) + fileData.length + 4;
 }
示例#10
0
 @Override
 public void readData(DataInputStream input) throws IOException {
   entityId = input.readInt();
   isMainTexture = input.readBoolean();
   texture = PacketUtil.readString(input);
 }
 @Override
 public void readData(DataInputStream input) throws IOException {
   title = PacketUtil.readString(input, 26);
   message = PacketUtil.readString(input, 26);
   itemId = input.readInt();
 }
示例#12
0
 public void writeData(DataOutputStream output) throws IOException {
   output.writeInt(id);
   output.writeShort(data);
   PacketUtil.writeString(output, name);
 }
示例#13
0
 public void readData(DataInputStream input) throws IOException {
   id = input.readInt();
   data = input.readShort();
   name = PacketUtil.readString(input);
 }
示例#14
0
 public int getNumBytes() {
   return 6 + PacketUtil.getNumBytes(name);
 }
示例#15
0
/** Created by snow_young on 16/8/4. */
public class ShowVersion {
  private static final int FIELD_COUNT = 1;
  private static final ResultSetHeaderPacket header = PacketUtil.getHeader(FIELD_COUNT);
  private static final FieldPacket[] fields = new FieldPacket[FIELD_COUNT];
  private static final EOFPacket eof = new EOFPacket();

  static {
    int i = 0;
    byte packetId = 0;
    header.packetId = ++packetId;

    fields[i] = PacketUtil.getField("VERSION", Fields.FIELD_TYPE_STRING);
    fields[i++].packetId = ++packetId;

    eof.packetId = ++packetId;
  }

  public static void execute(ProtocolTransport transport) {
    //        ByteBuf buffer = transport.out;

    // write header
    //        header.write(buffer);
    byte[] headerBytes = header.getPacket();
    //        transport.getChannel().writeAndFlush(header.getPacket());

    // write fields
    for (FieldPacket field : fields) {
      //            field.write(buffer);
      transport.getChannel().writeAndFlush(field.getPacket());
    }

    // write eof
    //        eof.write(buffer);
    transport.getChannel().writeAndFlush(eof.getPacket());

    // write rows
    byte packetId = eof.packetId;
    RowDataPacket row = new RowDataPacket(FIELD_COUNT);
    row.add(Versions.SERVER_VERSION);
    row.packetId = ++packetId;
    //        row.write(buffer);
    //        transport.getChannel().writeAndFlush(row.getPacket());

    // write last eof
    EOFPacket lastEof = new EOFPacket();
    lastEof.packetId = ++packetId;
    lastEof.write(transport.out);
    //        transport.getChannel().writeAndFlush(transport.out);

    //        ctx.writeAndFlush(transport.out);
    //        transport.in.release();

    //        System.out.println("byte[] is : " + buffer.array());
    //        try {
    //            transport.getOutputStream().write(buffer.array());
    //        } catch (IOException e) {
    //            e.printStackTrace();
    //        }
    //        transport.getChannel().flush();
  }
}
示例#16
0
 @Override
 public void writeData(DataOutputStream output) throws IOException {
   output.writeInt(entityId);
   output.writeBoolean(isMainTexture);
   PacketUtil.writeString(output, texture);
 }
 @Override
 public int getNumBytes() {
   return 4 + PacketUtil.getNumBytes(title) + PacketUtil.getNumBytes(message);
 }
示例#18
0
  private void doMsg(Packet packet) {
    short packetIdTmp = packet.readShort();
    int packetId = PacketUtil.readUShort(packetIdTmp);
    System.out.println();
    System.out.println("packetId: " + packetId);

    try {
      switch (packetId) {
        case Msg.P_REQ_TEST_X_X:
          {
            ReqTestXX reqTestXX = new ReqTestXX(packet);
            System.out.println("reqTestXX.getIdU8(): " + reqTestXX.getIdU8());
            System.out.println("reqTestXX.getIdU16(): " + reqTestXX.getIdU16());
            System.out.println("reqTestXX.getIdU32(): " + reqTestXX.getIdU32());

            AckTestXX ackTestXX = new AckTestXX();
            ackTestXX.setIdU8((byte) 255);
            ackTestXX.setIdU16((short) 65535);
            ackTestXX.setIdU32(65535666);

            List<Byte> id_u8 = new ArrayList<Byte>();
            id_u8.add((byte) 254);
            id_u8.add((byte) 255);

            ackTestXX.setRepeatIdU8(id_u8);
            ackTestXX.setOptionalIdU8((byte) 255);

            this.output.write(ackTestXX.encode());
            this.output.flush();

            break;
          }
        case Msg.P_REQ_TEST_SEND:
          {
            ReqTestSend reqTestSend = new ReqTestSend(packet);
            System.out.println("reqTestSend.getIdU8(): " + reqTestSend.getIdU8());
            System.out.println(
                "reqTestSend.getRoleBase().getUid(): " + reqTestSend.getRoleBase().getUid());
            System.out.println(
                "reqTestSend.getRoleBase().getUname(): " + reqTestSend.getRoleBase().getUname());
            System.out.println(
                "reqTestSend.getOpRoleBase().getUid(): " + reqTestSend.getOpRoleBase().getUid());
            System.out.println(
                "reqTestSend.getOpRoleBase().getUname(): "
                    + reqTestSend.getOpRoleBase().getUname());

            MsgRoleBase msgRoleBase = new MsgRoleBase();
            msgRoleBase.setUid(12306);
            msgRoleBase.setUname("mirahs");

            List<Float> id_f32 = new ArrayList<Float>();
            id_f32.add(1.33f);
            id_f32.add(1.44f);

            AckTestSendOk ackTestSendOk = new AckTestSendOk();
            ackTestSendOk.setIdU8((byte) 255);
            ackTestSendOk.setRoleBase(msgRoleBase);
            ackTestSendOk.setIdF32(id_f32);
            ackTestSendOk.setIdOpU8((byte) 12);
            ackTestSendOk.setOpRoleBase(msgRoleBase);

            this.output.write(ackTestSendOk.encode());
            this.output.flush();

            break;
          }
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
 @Override
 public void writeData(DataOutputStream output) throws IOException {
   PacketUtil.writeString(output, title);
   PacketUtil.writeString(output, message);
   output.writeInt(itemId);
 }
示例#20
0
 @Override
 public int getNumBytes() {
   return PacketUtil.getNumBytes(texture) + 4 + 1;
 }