public override bool Decode(byte[] Data) { StringBuilder sb; int i; ushort CodeErreur; if (Data.Length < 4) { return(false); } if (Data[0] != 0 || Data[1] != (byte)TypePaquet.ERROR) { return(false); } CodeErreur = BitConverter.ToUInt16(Data, 2); if (CodeErreur > 7) { return(false); } i = 4; sb = new StringBuilder(); while (i < Data.Length && Data[i] != 0) { sb.Append((char)Data[i]); i++; } if (sb.ToString() == "") { return(false); } m_CodeErreur = (CodeErreur)CodeErreur; m_MessageErreur = sb.ToString(); Type = TypePaquet.ERROR; return(true); }
public void SendError(CodeErreur ce) { byte[] tamponErreur = new byte[516]; tamponErreur[0] = (byte)((ushort)CodeOP.ERROR >> 8); tamponErreur[1] = (byte)((ushort)CodeOP.ERROR & 0xFF); tamponErreur[2] = (byte)((ushort)ce >> 8); tamponErreur[3] = (byte)((ushort)ce & 0xFF); tamponErreur[4] = 0x00; m_socket.SendTo(tamponErreur, m_PointDistant); m_socket.Close(); }
public void SendError(CodeErreur codeErreur, string MsgErreur) { byte[] tamponErreur = new byte[516]; tamponErreur[0] = (byte)((ushort)CodeOP.ERROR >> 8); tamponErreur[1] = (byte)((ushort)CodeOP.ERROR & 0xFF); tamponErreur[2] = (byte)((ushort)codeErreur >> 8); tamponErreur[3] = (byte)((ushort)codeErreur & 0xFF); tamponErreur[4] = 0x00; Encoding.ASCII.GetBytes(MsgErreur, 0, MsgErreur.Length, tamponErreur, 4); tamponErreur[4 + MsgErreur.Length] = 0x00; m_socket.SendTo(tamponErreur, 4 + MsgErreur.Length + 1, SocketFlags.None, m_PointDistant); m_socket.Close(); }
public ErrorPaquet(CodeErreur CodeErreur, string MessageErreur) : base(TypePaquet.ERROR) { m_CodeErreur = CodeErreur; m_MessageErreur = MessageErreur; }