是否可以從緩衝區中刪除telnet會話中的輸入行,因此當您按Enter時,您鍵入的文本被刪除,但仍發送到telnet服務器?刪除Telnet會話中的輸入行
我知道有一種方法可以發送一個字符,將光標移動到行的開頭,然後用新的字符覆蓋行,但是由於新的行字符被放入緩衝區,不要過去。有沒有辦法解決這個問題?
實施例:(第二行是用戶輸入)
Welcome to my imba text game!
pick up axe
然後按下輸入和屏幕緩衝器讀取:
Welcome to my imba mud game!
[You picked up the axe]
更新:
我認爲關鍵是將Telnet客戶端設置爲某些不會回顯本地輸入的模式。 我發現發送一些魔術字符到客戶端可以改變模式。我發現這個例子,我不知道它是什麼意思,但它防止輸入顯示在telnet客戶端。然而,輸入永遠不會發送到服務器,所以它只是答案的一半。
socket.send("\377\375\042\377\373\001")
也許是因爲我在逐行讀取輸入。我希望它被char讀爲char。不知道如何修改這個,雖然這樣做:
fileobj = socket.makefile()
while True:
line = fileobj.readline()
...
這不可能,或者是我的問題含糊不清? – oskob 2012-01-08 16:16:43