ncurses 라이브러리를 이용해 텔넷으로 출력 가능한가요?

ssehoony의 이미지

ncurses 를 조금 공부해 봤는데 UI 를 만들기에 참 좋더군요.
공부하는 과정에서 이런 생각이 들었습니다.
어떤 데몬을 모니터링하거나 제어하기 위한 관리자 UI를 ncurses를 이용해서 만들면 좋겠구나 하구요.
데몬이 관리자 모드를 위해 리슨하고 있는 포트로 관리자가 텔넷 클라이언트로 접속을 해서 제어 하면 좋을 것 같은데 문제는 "소켓으로 ncurses 가 output 하도록 할 수 있냐?" 는게 궁금하더군요.
ncurses 를 공부하면서 레퍼런스 봤는데 소켓, 혹은 임의의 버퍼로 데이터를 쏘는 것에 대한 건 모르겠더군요. (없는건지 제가 못 찾은건지. :cry: )

고수님의 조언을 듣고 싶어 이렇게 질문 남깁니다.

moonzoo의 이미지

텔넷 클라이언트로 접속한다면..텔넷으로 로그인하는게 아닌가여?

이미 해당 서버에 텔넷 접속된 상태에서..소켓을 통해 데이타를

주고 받을 필요가 있는지 잘 모르겠습니다.

텔넷 접속된 해당 터미날에 바로 뿌려주셔도 될겁니다..

ncurses는 devilhero님께서 말씀하신 그대로 UI 에 해당하는

라이브러리 입니다.. socket를 사용할 때는 socket라이브러리를

사용하시면 될듯 합니다..

혹 제가 질문의 요지를 잘 파악을 못했다면 --; 양해를..^^

ssehoony의 이미지

제가 설명이 부족했나 보네요.

텔넷으로 접속한다는게 털넷 서버에 텔넷 클라이언트로 접속해서 로그인한 후 쉘 상에서 모니터링하겠다는 이야기가 아닙니다.

텔넷 클라이언트라는게 접속한 서버의 소켓을 통해 날라오는 ANSI 규칙에 따르는 아스키데이터를 파싱해서 화면에 글자색이나 배경색, 커서이동등을 제어 해서 텍스트를 화면에 출력하는거자나요.
그리고 ncurses 는 프로그래머가 직접 복잡한 ANSI 코드를 작성하지 않고 라이브러리가 ANSI 코드 작성을 대신해주겠다는거구요. 그런데 ncurses 는 제가 보기에 무조건 stdout 으로만 ANSI 코드를 출력하는 것 같은데 전 그것을 특정 소켓으로 날리고 싶다는 거에요. 그런게 가능하다면 특정 데몬을 모니터링하기 위해 텔넷을 통해 쉘로 로그인할 필요 없이 그냥 바로 데몬이 리슨하고 있는 포트로 접속해서 상태를 확인 할 수 있어서 편하겠다는거지요.

만약 소켓등으로 stdout 을 리다렉션 할 수 없다면 제가 생각한 방법은 쉘에서 모니터링 프로그램을 실행하면 모니터링 프로그램이 데몬에 IPC 를 통해서 데몬의 정보를 읽어 온후에 그 자료를 ncurses 를 이용해서 보기 좋게 출력하면 될 것 같기는하데 이렇게 하면 코딩도 번거러울 것 같고 모니터링 할려고 할때 마다 텔넷 로그인하고 모니터링 프로그래 구동하고 하는 불편함이 생겨서 그걸 줄여 볼 수 없나 해서 질문을 드린겁니다. 8)

bluemoon의 이미지

만드신 프로그램을 사용자 shell로 지정하세요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.