Помогите! Работа с телнетом.
мой сервер работает в паре с telnet'ом в качестве клиента. Через него я передаю команды и т.д.Вопрос: как отследить конец строки и нажатие Enter в telnet'е? и как передать аналогичную команду telnet'у при отправке ответа.
В конце должен получиться типа чата с программой команда
ответ
команда
ответ.
Срочно надо!
Тебе не нужно ничего "отлавливать". Нужно просто обработать OnClientRead(listen и recv API) или что-то в этом духе.
Почитай про работу с сокетами...
P.S. Где-то даже был пример сервера на API. Нужен?
Цитата:
Originally posted by Berg
Как я понимаю, по нажатию <Enter> происходит отправка введенной в telnet команды на сервер.
Тебе не нужно ничего "отлавливать". Нужно просто обработать OnClientRead(listen и recv API) или что-то в этом духе.
Почитай про работу с сокетами...
P.S. Где-то даже был пример сервера на API. Нужен?
Как я понимаю, по нажатию <Enter> происходит отправка введенной в telnet команды на сервер.
Тебе не нужно ничего "отлавливать". Нужно просто обработать OnClientRead(listen и recv API) или что-то в этом духе.
Почитай про работу с сокетами...
P.S. Где-то даже был пример сервера на API. Нужен?
от примера неоткажусь кидай на [email]obrosov@mail.ru[/email]
Я тоже так думал но telnet оправляет побайтово каждый введенный символ. Я нашел примерный код на delhpi но переделать под себы не удалось.
Конкретно с Chr. Вот этот кусок:
while b<>13 do begin //крутип пока не enter
com:=scom+chr(b); // вот эта строка глючит
recv(s2,b,2,0); // принимаем побайтово
end;
вообщем переделать на билдер это почемуто не получается может у тебя получится.
Цитата:
Originally posted by vexx
от примера неоткажусь кидай на [email]obrosov@mail.ru[/email]
Я тоже так думал но telnet оправляет побайтово каждый введенный символ. Я нашел примерный код на delhpi но переделать под себы не удалось.
Конкретно с Chr. Вот этот кусок:
while b<>13 do begin //крутип пока не enter
com:=scom+chr(b); // вот эта строка глючит
recv(s2,b,2,0); // принимаем побайтово
end;
вообщем переделать на билдер это почемуто не получается может у тебя получится.
от примера неоткажусь кидай на [email]obrosov@mail.ru[/email]
Я тоже так думал но telnet оправляет побайтово каждый введенный символ. Я нашел примерный код на delhpi но переделать под себы не удалось.
Конкретно с Chr. Вот этот кусок:
while b<>13 do begin //крутип пока не enter
com:=scom+chr(b); // вот эта строка глючит
recv(s2,b,2,0); // принимаем побайтово
end;
вообщем переделать на билдер это почемуто не получается может у тебя получится.
Насколько я помню, enter состоит не из одного символа 13, а из 13 и 10. Поэтому ловить надо 2 символа. Видимо строчка com:=scom+chr(b) глючит когда в b попадает 10.
Цитата:
Originally posted by vexx
while b<>13 do begin //крутип пока не enter
com:=scom+chr(b); // вот эта строка глючит
recv(s2,b,2,0); // принимаем побайтово
end;
вообщем переделать на билдер это почемуто не получается может у тебя получится.
while b<>13 do begin //крутип пока не enter
com:=scom+chr(b); // вот эта строка глючит
recv(s2,b,2,0); // принимаем побайтово
end;
вообщем переделать на билдер это почемуто не получается может у тебя получится.
Попробуй while (b != '\n')...
Вот вроде пример работающего сервера -посмотри как там сделано...