이런 기능이 있나요? [3]

이런 기능이 있나요?

2011-12-27 09:30 - enoeht
xshell을 클라이언트로 사용하는

telnet프로토콜 기반 서버 프로그램을 만드는 중입니다.



xshell을 통해 telnet접속을 했을 때,

일반 알파벳키나 화살표키 등을 눌렀을 때에는 서버로의 전송이 일어나지 않다가

엔터키를 눌러야만 그때까지 입력한 내용이 한꺼번에 서버로 전송되는 현상이 있던데요.



xshell상의 여러 옵션을 바꾸어 보았지만 키가 눌러질 때마다

입력한 내용이 서버로 전송이 일어나도록 하지 못하겠네요.

혹시 그런기능이 있나요?



혹시나 putty를 사용해 보니,

옵션에서 Terminal - Line disciplie options 를 모두 Force off 로 설정하니

제가 원하는대로 엔터키를 누르지 않더라도 서버전송이 일어나는것을 확인했습니다.

putty를 사용하면 되기는 하지만, 회사에서 xmanager 을 구매해서 사용중이거든요.




혹시 비슷한 효과를 줄 수 있는 옵션이 xshell 3.0에 존재하는지, 답변부탁드립니다.



서버는 단순한 socket tcp/ip통신으로 되어있습니다.



프로그램 버전 : Xshell 3.0
첨부파일 ec.PNG (19.6 KB)  


Re: 이런 기능이 있나요?

2011-12-27 17:19 - 넷사랑
안녕하십니까?
넷사랑컴퓨터 기술지원입니다.

Xshell은 기본적으로 사용자가 입력한 키 값을 서버로 전송합니다. 이 때 서버는 해당 키에 해당하는 문자열을 Xshell로 보내면(echo) Xshell이 화면에 출력을 하는 것입니다.

일부 telnet 서버는 이 에코를 안하거나 설정으로 꺼 놓는 경우가 있습니다. 이런 경우에는 Xshell과 같은 클라이언트에서 로컬 에코(Local Echo) 기능을 사용하여야 합니다. 로컬 에코는 사용자가 키를 입력할 때 바로 화면에 찍어 주도록 하는 기능입니다.

다만 아쉽게도 Xshell 3.0에는 이 기능이 빠져 있습니다. 로컬 에코는 Xshell 4.0에 준비되어 있습니다.

Xshell 4.0의 세션 등록 정보에서 '터미널 -> VT 모드 -> Echo Mode(SRM)'이 그 기능입니다.

도움이 되었기를 바랍니다.

감사합니다.


아니 그게 아닌거 같아요.

2011-12-27 21:03 - enoeht
지금 서버가 telnet프로토콜 서버가 아니라,

생짜 tcp/ip입니다. telnet레벨의 프로토콜이 전혀 없는 단순 소켓통신이죠

당연히 에코도 구현되어 있지 않습니다.




그럼에도 불구하고 지금은 xshell에 키보드로 입력하면 입력한 내용이 화면에 보입니다.

다시말해서 이미 로컬 에코에 해당하는 기능이 동작하고 있는 상황이고,

혹시나 이것을 해제하는 옵션이 있는지를 문의하고 싶습니다.




서버쪽에서는 프로토콜이고 뭐고 전혀 없이 그저 뭔가 데이터가 들어오면 들어왔다는

사실을 감지하는 정도의 기능만 있는데, 엔터를 치기 전에는 아무런 데이터가

감지되지 않다가 엔터를 치면 감지되는 상황입니다.




그리고 답변해주신 SRM옵션은 말씀과는 달리 이미 3.0버전에도 존재하네요.


Re: 이런 기능이 있나요?

2011-12-30 11:20 - 넷사랑
말씀하신 상황을 보면 해당 서버가 에코를 해 주고 있는 것입니다. 에코는 텔넷 서버에서만 구현하는 것이 아니라 TCP/IP 소켓 통신에서 기본적으로 구현하는 내용입니다.

Xshell은 사용자가 입력한 키 값을 바로 서버에 전달합니다. Xshell에 찍히는 문자는 서버가 에코한 문자열 코드를 해석하여 화면에 찍어 주는 것입니다.
화면에 글자가 찍힌다는 것은 구현하신 서버가 역할을 제대로 하고 있다는 의미입니다.

로컬 에코는 어떤 서버의 경우 에코를 해 주지 않는 경우에 사용하는 옵션이며 Xshell 3.0에는 옵션에는 있지만 사실은 동작하지 않는 옵션입니다.

현재 Xshell은 서버가 하는 에코를 Xshell에 나타나지 않도록 하는 옵션은 없습니다.

감사합니다.


이전 조회수: 232