<PackageReference Include="SSH.NET" Version="2023.0.1" />

DisconnectMessage

Represents SSH_MSG_DISCONNECT message.
using Renci.SshNet.Common; namespace Renci.SshNet.Messages.Transport { public class DisconnectMessage : Message, IKeyExchangedAllowed { private byte[] _description; private byte[] _language; public override string MessageName => "SSH_MSG_DISCONNECT"; public override byte MessageNumber => 1; public DisconnectReason ReasonCode { get; set; } public string Description { get { return SshData.Utf8.GetString(_description, 0, _description.Length); } private set { _description = SshData.Utf8.GetBytes(value); } } public string Language { get { return SshData.Utf8.GetString(_language, 0, _language.Length); } private set { _language = SshData.Utf8.GetBytes(value); } } protected override int BufferCapacity => base.BufferCapacity + 4 + 4 + _description.Length + 4 + _language.Length; public DisconnectMessage() { } public DisconnectMessage(DisconnectReason reasonCode, string message) { ReasonCode = reasonCode; Description = message; Language = "en"; } protected override void LoadData() { ReasonCode = (DisconnectReason)ReadUInt32(); _description = ReadBinary(); _language = ReadBinary(); } protected override void SaveData() { Write((uint)ReasonCode); WriteBinaryString(_description); WriteBinaryString(_language); } internal override void Process(Session session) { session.OnDisconnectReceived(this); } } }