2016-01-21 7 views
0

** EDIT ** OK: плохой вопрос: мой pb не был в моем коде, а в конфигурации PuTTY! Поскольку у меня есть информация для добавления, я не закрываю вопрос. Я сделаю это и поставлю ответ.Невозможно создать OverbyteICS простой TCP-сервер без эха и без режима линии

Я использую библиотеку OverbyteICS (очень хорошая) (V8) в Delphi XE2. У меня просто возникла проблема с созданием очень простого TCP-сервера, который отображает символы Telnet-клиента (например, PuTTY) (в режиме реального времени), не отправляя их клиенту (без эха). Я использовал несколько примеров из ICS, в основном OverbyteIcsSrvDemo или OverbyteIcsTcpSrv, но у меня есть одна и та же проблема: если я ECHO все в порядке, но если я не ECHO, клиент Telnet должен отправить CR + LF для отображения символов.

Мой тестовый код здесь: http://collabedit.com/9f9h4

Я пытался играть с некоторыми свойствами, как LineMode без успеха.

+2

Я не понимаю ваш вопрос. Ваш клиент отправляет каждого персонажа, когда он набирается человеком? Вы не указали код клиента. Вы также не показываете код своего сервера, и вы ожидаете, что кто-то отладит ваш клиент и ваш сервер, который мы не видим? Не беспокойтесь, разместив стену кода. Отлаживайте собственный код. Я не знаю, что ваш объект клиента, или почему вы пытаетесь читать один байт за раз через RcvdLine. Вы, кажется, смущены. –

+0

Уверен, мой вопрос непонятен! Некоторая информация: клиент просто классический, такой как Putty или Hyperterminal, а сервлет - классические примеры из OverbyteICS с 2 измененными строками. Но вы правы. Я отредактирую свой вопрос, конечно, со ссылкой на мой пример. ! – philnext

+0

Итак, вы хотите написать чат-приложение со шпателем в качестве клиента. Вы должны узнать, что такое TTY VT102, и как, например, Putty и как сеансы, подобные TELNET. Вы также не должны пытаться научиться делать это, как вы это делали, вы начали с ошибочного предположения; Использование шпаклевки - не очень хорошая идея. Вы должны ЗАПИСАТЬ своего собственного клиента, а затем написать свой собственный сервер. Затем вы можете добавить журнал и узнать, что происходит. Незнание TCP/IP и концепций сокета api - ваша проблема. Начните с клиента чата ICS и демонстрации сервера чата ICS. Соблюдайте рабочий код. Прочитайте документы. –

ответ

0

Как я уже объяснял в своем вопросе, мой фрагмент кода был в порядке, но мой PuTTY не был настроен правильно. Основная проблема заключалась в том, что опция «Редактирование терминалов/локальных линий» была включена в «Авто», поэтому PuTTY ожидала клавишу «return» для отправки строки. Я тоже был обеспокоен, потому что, когда я отправляю эхо (по моему коду), по каким-то причинам PuTTY посылает символы, не дожидаясь «возврата».