2009-10-29 1 views

ответ

1

Это возвращает меня waaaay назад. Я ... не думаю, что это сервер, но приложение, которое должно понимать escape-последовательности.

Серверу необходимо передать их только в приложение, которое работает.

Подумайте о текстовом приложении. Он должен знать, что пользователь отправляет ему, чтобы он мог отправить ответ. Сервер терминалов, о котором вы говорите, находится между приложением и пользователем, действуя как часть уровня связи. То, что сервер (и должен) делать, это отправить запрос типа терминала и проанализировать результат, чтобы убедиться, что он разговаривает с VT100. Но помимо этого (даже вход в систему - это еще одно приложение), я оставил бы это приложение, чтобы отвечать на команды, идущие вниз по проводу.

Другой способ взглянуть на это: представьте, что сервер запущен и работает. На что он сбросит пользователя? C: \? Это telnet. Какая польза от escape-последовательности VT100 в подсказке DOS? Не так много (подсказка DOS на самом деле «command.com», обращаясь к пользователю - «приложение», о котором я говорил раньше, telnet не интерпретирует escape-последовательности, а просто передает их команде command.com и команде. com выплевывает ответ).

+0

В моем случае я хочу написать приложение, которое отвечает на клиента, а не просто передавать команды в консольный или оболочный процесс. Кодирование ответа на отправку, когда полученные от клиента ключи удаления, вставки, вверх, вниз, произвольного управления являются тем, чего я хочу избежать. – sipwiz

+0

Итак, «сервер» - это действительно «приложение». Набор команд VT100 не огромен. В отличие от современных технологий, на самом деле у вас есть довольно маленький, фиксированный и простой набор ответов, и, чудо чудес, оно ведет себя одинаково на разных устройствах! (возьмите ЭТО HTML!) Я бы подумал, что вы можете использовать этот образец .Net generic server. Затем сохраните последовательности Esc и их ответы в XML (XPath мог бы сделать все тяжелое поднятие ответов). Это будет последовательный или IP-адрес через аппаратный сервер терминалов? Помните: программное обеспечение VT100s не на 100% такое же, как у прекрасных аппаратных VT100. – inked

0

Hve у пыталось ackterm? ... Я просто гугл термина «реализации VT100 .net» (после того, как u've откликнулся на мои ques), и я получил статью о codeproject, который говорит о ackterm. Я думаю, вам нужно что-то близко ... это клиент telnet (я думаю), который понимает, как разбирать команды vt100. Это мое наблюдение. (Я использовал его для подключения к моему серверу telnet). Его открытый исходный код и, следовательно, вам нужно выяснить, какую часть кода вам нужно. Я только что узнал об этом сегодня и все еще в процессе извлечения того, что мне нужно. Я знаю его там где-то ...

Надеюсь, это поможет. Я должен, спасибо, за то, что упомянул мне свой материал vt100.

0

Если у вас есть клиент vt100, вы должны создать простой tcplistener и настроить его для прослушивания 23 порта. Отправьте команды vt100. Если вы хотите, я могу отправить код C#

+3

Действительно, через 6 лет вам нужно это сделать? – CSharpie

+0

@CSharpie, почему бы и нет? –