Я пытаюсь создать клиент Telnet as400/Iseries и не могу найти документацию.

Я пытаюсь создать клиент telnet, который я могу использовать для передачи RPGLE-приложений с зеленым экраном в более привлекательные клиентские приложения. Я могу установить соединение сокетов, и я отправил команду «ввод» по умолчанию для доступа к экрану входа в систему, но я не знаю, где начать интерпретировать, где находятся поля, где хранится идентификатор сервера сеанса , как отправить комментарий и как определить тип поля. Кто-нибудь знает хорошую достойную документацию, описывающую связь между клиентом telnet и его сервером? Я пытался искать в Интернете безрезультатно.

Я пишу это, используя Microsoft Visual Studio 2010 (vb.net).


person JustinKaz    schedule 07.09.2010    source источник
comment
Я нашел некоторую документацию по управляющим символам, отправляемым в потоке: publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/   -  person JustinKaz    schedule 07.09.2010
comment
Разве это не именно то, что делает HATS? Сэкономил бы вам много работы.   -  person Thorbjørn Ravn Andersen    schedule 08.09.2010
comment
Конечно, если я хочу отказаться от руки и ноги и потерять контроль над своими экранами.   -  person JustinKaz    schedule 08.09.2010


Ответы (2)


Вам может пригодиться бесплатный эмулятор терминала TN5250. Ознакомьтесь с ресурсами для разработчиков по ссылке Sourceforge ниже. В худшем случае вы можете просмотреть исходный код, чтобы увидеть, как они декодируют поток данных 5250.

http://tn5250.sourceforge.net/

Вы также можете подумать о подключении поверх существующего эмулятора терминала, такого как эмулятор 5250, который поставляется с IBM Client Access. Затем вы должны использовать EHLLAPI для связи с эмулятором терминала и управления им из своего кода. Преимущество здесь в том, что вам не придется реализовывать эмулятор терминала с нуля. Однако обратите внимание, что если вы используете клиентский доступ, вам необходимо подумать о лицензировании. (см. соответствующий вопрос)

Дополнительную информацию см. в часто задаваемых вопросах EHLLAPI от IBM.

person dmc    schedule 07.09.2010
comment
Мне как бы нужно создать свой собственный клиент telnet. Я просмотрел ehllapi, и это просто еще одна программа для запуска. Идея состоит в том, что у меня есть веб-сервис, который транслирует байты из наших соединений telnet, позволяя клиентам из любого места подключаться к 400. Клиент устанавливает соединение с веб-сервисом, веб-сервис общается напрямую с 400 и отправляет ответ клиенту. . - person JustinKaz; 07.09.2010
comment
Я смотрел проект Source Forge, очень полезный. Благодарю вас! Даже если это много кода для просмотра. - person JustinKaz; 08.09.2010
comment
@Justin: Ну, 5250 - сложный зверь протокола. Эй, это же IBM, чего вы ожидали от компании, которая создает IDE, загрузка которой занимает больше времени, чем ПК, на котором она работает? - person Jörg W Mittag; 08.09.2010
comment
Правда, сам поток кажется простым для перевода, но я только начал, поэтому предполагаю, что дальше будет намного хуже. - person JustinKaz; 08.09.2010
comment
Я смог разлогинить потоки, чтобы начать тыкать в нужном направлении. Благодарю вас! - person JustinKaz; 16.09.2010

Единственное, с чем вам нужно быть осторожным при работе с этим, - это порядок байтов данных, поступающих из системы мэйнфреймов, а также кодировка EBCDIC... что следует иметь в виду при работе с платформой, которая не является ascii. и не-Unicode, наряду с обратным порядком битов, на платформах x86 старший бит - это порядок, на других платформах - его младший бит, старший бит и наименее значащий бит соответственно.

Судя по звуку задачи - это само по себе довольно сложная задача, вы уверены, что сможете это сделать... возможно, просмотр открытого исходного кода может дать вам огромный толчок для достижения того, что вы пытаетесь сделать... скриншот здесь ключ...

Возможно, вам поможет это... и здесь учетная запись с использованием python

person t0mm13b    schedule 07.09.2010
comment
К сожалению, это ничего не говорит мне о том, как взаимодействовать с потоком. Я понимаю преобразование и понимаю, как читать байты, мне нужно знать, как интерпретировать байты как отражение экрана, отправляемого клиенту. - person JustinKaz; 07.09.2010