Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Тестирование TN3270 с помощью простого терминала-эмулятора без Hercules

Delphi , ОС и Железо , DOS и Консоль

Тестирование TN3270 с помощью простого терминала-эмулятора без использования Hercules

Вопрос пользователя заключается в поиске способа тестирования терминала-эмулятора TN3270, не прибегая к использованию сложных систем, таких как Hercules. Пользователь уже имеет готовые экраны, созданные заказчиком, и хочет проверить свою клиентскую программу на этих экранах, не посещая офис заказчика. Один из альтернативных ответов предлагает использовать TN Bridge Host Integration Pack от Cybelesoft, однако это клиентская компонента, требующая наличия главного компьютера или эмулятора. Также упоминается возможность записи и воспроизведения потока данных, что может быть полезным для тестирования.

Подтвержденный ответ

Для тестирования TN3270 с помощью простого терминала-эмулятора без Hercules можно использовать TN3270Server из проекта Open3270. Несмотря на отсутствие документации, существуют примеры использования этого класса, которые можно адаптировать под свои нужды. Ниже приведен пример кода на Object Pascal, который может служить отправной точкой для создания собственного эмулятора TN3270:

program TN3270ServerExample;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  // Здесь должны быть подключения к классам TN3270Server и другим необходимым модулям

var
  Server: TN3270Server;

begin
  // Инициализация сервера TN3270
  Server := TN3270Server.Create(nil);
  try
    Server.HostName := 'localhost';
    Server.Port := 23; // Стандартный порт для TN3270
    Server.Start;

    // Здесь может быть код для отправки экрана TN3270
    // Например, создание и отправка данных экрана
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

  // Ожидание нажатия клавиши для завершения программы
  Readln;
end.

Альтернативный ответ

Если использование TN3270Server из проекта Open3270 кажется слишком сложным, можно рассмотреть альтернативные методы. Например, запись и воспроизведение потока данных, который обычно передается терминалу. В Object Pascal для этого можно использовать простые программы, которые записывают и затем воспроизводят данные, например, программу-эхо:

program SimpleEchoServer;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  IdGlobal,
  IdTCPServer;

var
  Server: TIdTCPServer;
  Data: TArray<byte>;
begin
  Server := TIdTCPServer.Create(nil);
  try
    Server.OnExecute := OnExecute;
    Server.DefaultPort := 23;
    Server.Active := True;
    // Программа будет ожидать подключения терминала-эмулятора
    while True do
      Sleep(1000);
  except
    on E: Exception do
    begin
      Writeln(E.ClassName, ': ', E.Message);
      Server.Active := False;
    end;
  end;

  procedure OnExecute(AContext: TIdContext);
  var
    InputStream: TIdTCPClientReadStream;
    OutputStream: TIdTCPClientWriteStream;
  begin
    InputStream := TIdTCPClientReadStream.Create;
    OutputStream := TIdTCPClientWriteStream.Create;
    try
      InputStream.Assign(AContext.Connection.IOHandler);
      while not InputStream.EndOfStream do
      begin
        SetLength(Data, InputStream.Size);
        InputStream.Read(Data[0], InputStream.Size);
        OutputStream.Write(Data[0], Length(Data));
        OutputStream.Flush;
      end;
    finally
      InputStream.Free;
      OutputStream.Free;
    end;
  end;
end.

Этот код создает простой сервер, который принимает входящие данные от терминала-эмулятора и отправляет их обратно, имитируя эхо. Для работы с TN3270 экранами, данные, которые отправляются серверу, должны быть сформированы в соответствии с протоколом TN3270.

Заключение

Для тестирования TN3270 эмулятора без использования Hercules можно использовать TN3270Server из проекта Open3270 или реализовать простой эхо-сервер, который будет принимать и отправлять данные обратно, имитируя основные функции протокола TN3270. Для создания полнофункционального эмулятора потребуется дополнительная разработка и понимание протокола TN3270.

Создано по материалам из источника по ссылке.

Тестирование TN3270 с помощью простого терминала-эмулятора без использования Hercules может быть осуществлено с помощью TN3270Server из проекта Open3270 или через создание простого сервера-эхо для имитации обмена данными.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: DOS и Консоль ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-05 21:52:33/0.0035610198974609/0