/// <summary> /// Der Buffer ist ein string /// </summary> public Packet(PacketInfo pInfo, string buffer) { asen = new ASCIIEncoding(); byte[] ba = asen.GetBytes(buffer); value = ba; this.pInfo = pInfo; }
/// <summary> /// Hat 4 Konstruktoren /// PacketInfo und buffer als byte[] oder als string /// Oder nur PacketInfo(für die Packets die erst Gegettet werden müssen). /// Oder nur buffer als byte[] wenn die PacketInfo daraus erlesen wird /// </summary> /// <summary> /// PacketInfo und buffer als byte[] /// </summary> public Packet(PacketInfo pInfo, byte[] buffer) { byte[] info = new byte[2]; info[0] = pInfo.ToByte(); byteInfo = info[0]; asen = new ASCIIEncoding(); value = GetPacketByte(buffer, info); this.pInfo = pInfo; }
/// <summary> /// Für die Packets die gesendet werden und es keinen buffer gibt /// </summary> public Packet(PacketInfo pInfo) { asen = new ASCIIEncoding(); byte[] info = new byte[2]; info[0] = pInfo.ToByte(); byteInfo = info[0]; this.pInfo = pInfo; }
/// <summary> /// Falls die PacketInfo aus dem buffer gelesen wird /// </summary> public Packet(byte[] buffer) { asen = new ASCIIEncoding(); //TODO: GESCHEITER MACHEN //byteInfo = Convert.ToByte(asen.GetString(buffer.Take(1).ToArray())); byteInfo = ByteArrToByte(buffer.Take(1).ToArray()); this.pInfo = new PacketInfo(byteInfo, buffer.Length); this.value = buffer.Skip(1).ToArray(); }
public static Packet GetPacket(PacketInfo pInfo, Stream TcpStream) { try { byte[] bb = new byte[pInfo.length]; int k = TcpStream.Read(bb, 0, pInfo.length); byte[] value = new byte[k]; for (int i = 0; i < k; i++) { value[i] = bb[i]; } Packet p = new Packet(value); return p; } catch (Exception ex) { Server.throughNewConnectionError("GetPacket() " + ex.Message); return new Packet(Packets.ERROR); } }