2010-12-17 80 views
0

我正在使用Node.js創建聊天。實質上,它使用網絡模塊來創建服務器。每個連接到服務器的人都被添加到列表中。通過參與者列表向服務器輸入數據forEach(),並通過.write()將消息流式傳輸給服務器。但是,有一個問題。如果您正在鍵入(並且您直接輸入到終端窗口中)並且某些內容已寫入到您的流中,則您輸入的所有內容(但尚未提交)都會被覆蓋。有什麼辦法可以防止這種情況發生?我對此表示懷疑。你甚至可能不應該使用一些基本的聊天程序。防止文本被Node.js中的stream.write()覆蓋

回答

0

如果你正在使用低級別stdin/stdout那麼事實上你沒有辦法做到這一點(除非你清除屏幕並重新繪製你自己的緩衝區)。

通常情況下,如果你想留在終端,你會使用詛咒。快速注視modules page顯示Node.js有一個ncurses binding

我沒有測試過這一點,但似乎是越來越要做的事情的最快的方法(即,在情況下,它仍然在2.5/3.X的作品),如果你想留下來的老同學終端。