Кто-нибудь знает сервер C# с открытым исходным кодом? Я ищу создать сервер C#, который понимает escape-последовательности от клиента vt100.Сервер с открытым кодом C# vt100 server
ответ
Не удалось найти C# один, но это Java one имеет смысл.
Это возвращает меня waaaay назад. Я ... не думаю, что это сервер, но приложение, которое должно понимать escape-последовательности.
Серверу необходимо передать их только в приложение, которое работает.
Подумайте о текстовом приложении. Он должен знать, что пользователь отправляет ему, чтобы он мог отправить ответ. Сервер терминалов, о котором вы говорите, находится между приложением и пользователем, действуя как часть уровня связи. То, что сервер (и должен) делать, это отправить запрос типа терминала и проанализировать результат, чтобы убедиться, что он разговаривает с VT100. Но помимо этого (даже вход в систему - это еще одно приложение), я оставил бы это приложение, чтобы отвечать на команды, идущие вниз по проводу.
Другой способ взглянуть на это: представьте, что сервер запущен и работает. На что он сбросит пользователя? C: \? Это telnet. Какая польза от escape-последовательности VT100 в подсказке DOS? Не так много (подсказка DOS на самом деле «command.com», обращаясь к пользователю - «приложение», о котором я говорил раньше, telnet не интерпретирует escape-последовательности, а просто передает их команде command.com и команде. com выплевывает ответ).
Hve у пыталось ackterm? ... Я просто гугл термина «реализации VT100 .net» (после того, как u've откликнулся на мои ques), и я получил статью о codeproject, который говорит о ackterm. Я думаю, вам нужно что-то близко ... это клиент telnet (я думаю), который понимает, как разбирать команды vt100. Это мое наблюдение. (Я использовал его для подключения к моему серверу telnet). Его открытый исходный код и, следовательно, вам нужно выяснить, какую часть кода вам нужно. Я только что узнал об этом сегодня и все еще в процессе извлечения того, что мне нужно. Я знаю его там где-то ...
Надеюсь, это поможет. Я должен, спасибо, за то, что упомянул мне свой материал vt100.
Если у вас есть клиент vt100, вы должны создать простой tcplistener и настроить его для прослушивания 23 порта. Отправьте команды vt100. Если вы хотите, я могу отправить код C#
Действительно, через 6 лет вам нужно это сделать? – CSharpie
@CSharpie, почему бы и нет? –
В моем случае я хочу написать приложение, которое отвечает на клиента, а не просто передавать команды в консольный или оболочный процесс. Кодирование ответа на отправку, когда полученные от клиента ключи удаления, вставки, вверх, вниз, произвольного управления являются тем, чего я хочу избежать. – sipwiz
Итак, «сервер» - это действительно «приложение». Набор команд VT100 не огромен. В отличие от современных технологий, на самом деле у вас есть довольно маленький, фиксированный и простой набор ответов, и, чудо чудес, оно ведет себя одинаково на разных устройствах! (возьмите ЭТО HTML!) Я бы подумал, что вы можете использовать этот образец .Net generic server. Затем сохраните последовательности Esc и их ответы в XML (XPath мог бы сделать все тяжелое поднятие ответов). Это будет последовательный или IP-адрес через аппаратный сервер терминалов? Помните: программное обеспечение VT100s не на 100% такое же, как у прекрасных аппаратных VT100. – inked