Beispiel #1
0
        public PacketPipe(TcpClient client, PacketHandler handler)
        {
            this.client = client;
            this.handler = handler;

            var stream = client.GetStream();
            reader = new NetworkReader(stream);
            writer = new NetworkWriter(stream);

            readThread = new Thread(new ThreadStart(ReadLoop));
            writeThread = new Thread(new ThreadStart(WriteLoop));
            readThread.Start();
            writeThread.Start();
        }
Beispiel #2
0
 public static void Put(Packet packet, NetworkWriter writer)
 {
     writer.Write((byte)packet.Id);
     packet.Write(writer);
     writer.Flush();
 }
Beispiel #3
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteUTF8(Message);
 }
Beispiel #4
0
 public override void Write(NetworkWriter writer)
 {
     throw new NotImplementedException();
 }
Beispiel #5
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteDouble(X);
     writer.WriteDouble(Y);
     writer.WriteDouble(Stance);
     writer.WriteDouble(Z);
     base.Write(writer);
 }
Beispiel #6
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(CollectEntityId);
     writer.WriteInt32(CollectingEntityId);
 }
Beispiel #7
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(Unknown);
     writer.WriteInt16(Slot);
 }
Beispiel #8
0
 public override void Write(NetworkWriter writer)
 {
 }
Beispiel #9
0
 public override void Write(NetworkWriter writer)
 {
     base.Write(writer);
     writer.WriteInt32(X);
     writer.WriteInt32(Y);
     writer.WriteInt32(Z);
     writer.WriteAngle(RotationX);
     writer.WriteAngle(RotationY);
 }
Beispiel #10
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteUTF8(Contents);
 }
Beispiel #11
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt64(Time);
 }
Beispiel #12
0
        public override void Write(NetworkWriter writer)
        {
            writer.WriteInt32(ChunkX);
            writer.WriteInt16(ChunkY);
            writer.WriteInt32(ChunkZ);
            writer.WriteByte((byte)(Width - 1));
            writer.WriteByte((byte)(Height - 1));
            writer.WriteByte((byte)(Depth - 1));

            var compressed = new MemoryStream(Data.Length); // TODO: use better guess here
            var zlib = new ZOutputStream(compressed, zlibConst.Z_DEFAULT_COMPRESSION);
            zlib.Write(Data, 0, Data.Length);
            zlib.Flush();
            zlib.finish();
            writer.WriteInt32((int)zlib.TotalOut);
            writer.Write(compressed.GetBuffer(), 0, (int)zlib.TotalOut);
            zlib.Close();
            compressed.Close();
        }
Beispiel #13
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(ChunkX);
     writer.WriteByte(ChunkY);
     writer.WriteInt32(ChunkZ);
     writer.WriteByte(Type);
     writer.WriteByte(MetaData);
 }
Beispiel #14
0
 public abstract void Write(NetworkWriter writer);
Beispiel #15
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteBoolean(Flying);
 }
Beispiel #16
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32((Int32)Version);
     writer.WriteUTF8(AccountName);
     writer.WriteUTF8(Password);
     writer.WriteInt64(Time);
     writer.WriteByte(DimensionType);
 }
Beispiel #17
0
 public override void Write(NetworkWriter writer)
 {
     base.Write(writer);
     writer.WriteByte(RotationX);
     writer.WriteByte(RotationY);
 }
Beispiel #18
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt16(TypeId);
     writer.WriteByte(Count);
     writer.WriteInt16(Durability);
 }
Beispiel #19
0
 public override void Write(NetworkWriter writer)
 {
     base.Write(writer);
     writer.WriteByte(XDiff);
     writer.WriteByte(YDiff);
     writer.WriteByte(ZDiff);
 }
Beispiel #20
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(ChunkX);
     writer.WriteInt32(ChunkY);
     writer.WriteBoolean(Add);
 }
Beispiel #21
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(EntityId);
     writer.WriteByte(TypeId);
     writer.WriteInt32(X);
     writer.WriteInt32(Y);
     writer.WriteInt32(Z);
     writer.WriteByte(RotationX);
     writer.WriteByte(RotationY);
 }
Beispiel #22
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteSingle(RotationX);
     writer.WriteSingle(RotationY);
     base.Write(writer);
 }
Beispiel #23
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(EntityId);
     writer.WriteUTF8(Name);
     writer.WriteInt32(X);
     writer.WriteInt32(Y);
     writer.WriteInt32(Z);
     writer.WriteAngle(RotationX);
     writer.WriteAngle(RotationY);
     writer.WriteInt16((short)ActiveItemTypeId);
 }
Beispiel #24
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32((int)Type);
     writer.WriteInt16((short)Items.Length);
     for (int i = 0; i < Items.Length; i++) {
         var item = Items[i];
         if (item == null)
             writer.WriteInt16(-1);
         else {
             writer.WriteInt16((short)item.Id);
             writer.WriteByte((byte)item.Count);
             writer.WriteInt16((short)item.Damage);
         }
     }
 }
Beispiel #25
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteUTF8(Reason);
 }
Beispiel #26
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(X);
     writer.WriteInt32(Y);
     writer.WriteInt32(Z);
 }
Beispiel #27
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(EntityId);
 }
Beispiel #28
0
 public override void Write(NetworkWriter writer)
 {
     writer.WriteInt32(EntityId);
     writer.WriteInt16(TypeId);
     writer.WriteByte(Count);
     writer.WriteInt32(X);
     writer.WriteInt32(Y);
     writer.WriteInt32(Z);
     writer.WriteByte(MoveX);
     writer.WriteByte(MoveY);
     writer.WriteByte(MoveZ);
 }
Beispiel #29
0
 public override void Write(NetworkWriter writer)
 {
     base.Write(writer);
     writer.WriteBoolean(ForwardAnimation);
 }