コード例 #1
0
 // Выдача сообщения клиенту
 public static bool Dequeue(out SSHConnectionCommandBuffer LData)
 {
     lock (FLocker)
     {
         if (FQueue.Count > 0)
         {
             LData = (SSHConnectionCommandBuffer)FQueue.Dequeue();
             return(true);
         }
         else
         {
             LData = null;
             return(false);
         }
     }
 }
コード例 #2
0
    // Прием сообщения с сервера
    private static void OnReceive(byte[] ABuffer, int ABufferSize)
    {
        // Прочитаем код команды
        int Command = BitConverter.ToInt32(ABuffer, 0);
        // Создадим сообщение
        SSHConnectionCommandBuffer LData = new SSHConnectionCommandBuffer
        {
            Command = Command,
            Buffer  = new MemoryStream()
        };

        LData.Buffer.Write(ABuffer, 0, ABufferSize);
        LData.Buffer.Position = sizeof(int);
        // Добавим сообщение в очередь
        lock (FLocker)
        {
            FQueue.Enqueue(LData);
        }
    }