ncurses 라이브러리를 이용해 텔넷으로 출력 가능한가요?
글쓴이: ssehoony / 작성시간: 수, 2003/08/27 - 5:58오후
ncurses 를 조금 공부해 봤는데 UI 를 만들기에 참 좋더군요.
공부하는 과정에서 이런 생각이 들었습니다.
어떤 데몬을 모니터링하거나 제어하기 위한 관리자 UI를 ncurses를 이용해서 만들면 좋겠구나 하구요.
데몬이 관리자 모드를 위해 리슨하고 있는 포트로 관리자가 텔넷 클라이언트로 접속을 해서 제어 하면 좋을 것 같은데 문제는 "소켓으로 ncurses 가 output 하도록 할 수 있냐?" 는게 궁금하더군요.
ncurses 를 공부하면서 레퍼런스 봤는데 소켓, 혹은 임의의 버퍼로 데이터를 쏘는 것에 대한 건 모르겠더군요. (없는건지 제가 못 찾은건지. :cry: )
고수님의 조언을 듣고 싶어 이렇게 질문 남깁니다.
Forums:
제 생각에..
텔넷 클라이언트로 접속한다면..텔넷으로 로그인하는게 아닌가여?
이미 해당 서버에 텔넷 접속된 상태에서..소켓을 통해 데이타를
주고 받을 필요가 있는지 잘 모르겠습니다.
텔넷 접속된 해당 터미날에 바로 뿌려주셔도 될겁니다..
ncurses는 devilhero님께서 말씀하신 그대로 UI 에 해당하는
라이브러리 입니다.. socket를 사용할 때는 socket라이브러리를
사용하시면 될듯 합니다..
혹 제가 질문의 요지를 잘 파악을 못했다면 --; 양해를..^^
제가 설명이 부족했나 보네요.텔넷으로 접속한다는게 털넷 서버에 텔
제가 설명이 부족했나 보네요.
텔넷으로 접속한다는게 털넷 서버에 텔넷 클라이언트로 접속해서 로그인한 후 쉘 상에서 모니터링하겠다는 이야기가 아닙니다.
텔넷 클라이언트라는게 접속한 서버의 소켓을 통해 날라오는 ANSI 규칙에 따르는 아스키데이터를 파싱해서 화면에 글자색이나 배경색, 커서이동등을 제어 해서 텍스트를 화면에 출력하는거자나요.
그리고 ncurses 는 프로그래머가 직접 복잡한 ANSI 코드를 작성하지 않고 라이브러리가 ANSI 코드 작성을 대신해주겠다는거구요. 그런데 ncurses 는 제가 보기에 무조건 stdout 으로만 ANSI 코드를 출력하는 것 같은데 전 그것을 특정 소켓으로 날리고 싶다는 거에요. 그런게 가능하다면 특정 데몬을 모니터링하기 위해 텔넷을 통해 쉘로 로그인할 필요 없이 그냥 바로 데몬이 리슨하고 있는 포트로 접속해서 상태를 확인 할 수 있어서 편하겠다는거지요.
만약 소켓등으로 stdout 을 리다렉션 할 수 없다면 제가 생각한 방법은 쉘에서 모니터링 프로그램을 실행하면 모니터링 프로그램이 데몬에 IPC 를 통해서 데몬의 정보를 읽어 온후에 그 자료를 ncurses 를 이용해서 보기 좋게 출력하면 될 것 같기는하데 이렇게 하면 코딩도 번거러울 것 같고 모니터링 할려고 할때 마다 텔넷 로그인하고 모니터링 프로그래 구동하고 하는 불편함이 생겨서 그걸 줄여 볼 수 없나 해서 질문을 드린겁니다. 8)
만드신 프로그램을 사용자 shell로 지정하세요.
만드신 프로그램을 사용자 shell로 지정하세요.
댓글 달기