public override byte[] GetEncoding()
        {
            try
            {
                MemoryStream outputStream = new MemoryStream();
                BinaryWriter binaryWriter = new BinaryWriter(new BufferedStream(outputStream));

                MessagesEncodingUtil.WriteMessageType(binaryWriter, this);
                MessagesEncodingUtil.WriteByte(binaryWriter, (byte)ConfirmationMessageType);

                binaryWriter.Flush();

                byte[] buffer = outputStream.ToArray();

                if (buffer.Length < EncodingConstants.MAX_MESSAGE_LENGTH)
                {
                    return(outputStream.ToArray());
                }
                else
                {
                    throw new BinaryEncodingException();
                }
            }
            catch (Exception)
            {
                throw new BinaryEncodingException("Decode");
            }
        }
Пример #2
0
        public override byte[] GetEncoding()
        {
            try
            {
                MemoryStream outputStream = new MemoryStream();
                BinaryWriter binaryWriter = new BinaryWriter(new BufferedStream(outputStream));

                MessagesEncodingUtil.WriteMessageType(binaryWriter, this);

                if (PeerAddress.PrivateEndPoint == null)
                {
                    MessagesEncodingUtil.WriteString(binaryWriter, "null");
                }
                else
                {
                    MessagesEncodingUtil.WriteString(binaryWriter, PeerAddress.PrivateEndPoint.ToString());
                }

                if (PeerAddress.PublicEndPoint == null)
                {
                    MessagesEncodingUtil.WriteString(binaryWriter, "null");
                }
                else
                {
                    MessagesEncodingUtil.WriteString(binaryWriter, PeerAddress.PublicEndPoint.ToString());
                }

                binaryWriter.Flush();

                byte[] buffer = outputStream.ToArray();

                if (buffer.Length <= EncodingConstants.MAX_MESSAGE_LENGTH)
                {
                    return(outputStream.ToArray());
                }
                else
                {
                    throw new BinaryEncodingException();
                }
            }
            catch (Exception)
            {
                throw new BinaryEncodingException("Decode");
            }
        }