2012-11-11 77 views
1

我目前正在嘗試實現一個小的telnet服務器,它在客戶端的連接上產生PTY,並將小型nCurses應用程序的輸出傳輸到客戶端。我在紅寶石工作,但問題是語言不可知的。我的用例不要求應用程序的用戶登錄到用戶帳戶,所以我不希望將屏幕的適當傳輸委託給系統工具,例如telnetd。通過telnet/ssh實現nCurses

給定TCP連接,通過telnet或ssh傳輸文本nCurses接口有什麼要求?需要什麼類型的緩衝或編碼才能確保在客戶端刷新屏幕以適當地呈現應用程序?這顯然是在典型的ssh會話中處理的,但是它是如何完成的?

在此先感謝。

+0

'tmux'可能值得一看。 – Reactormonk

回答

1

您需要設置TERM,LINES和COLUMNS環境變量(您獲得NVT protocol的正確值)。然後你就可以開始創建一個ncurses應用程序(顯然,你的PTY是stdin/stdout)。您不需要緩衝或以其他方式篡改字符流(NVT實施除外)。