2011-11-14 5 views
1

クライアントにテキストを提供するPython Twistedサーバーを作成したいと思います。クライアントがテキストを書き込んでサーバーを操作できるようにしたいと考えています。私はTelnetを使用し、クライアントはパテまたは同様の端末を使用します...これを行う方が簡単な場合は、SSHを使用することもできます。Python Twisted - TelnetやSSHでバッファされた/バッファされない入力を制御する方法は?

私の質問は、クライアントが生のバッファされていないバイトを送信できるようにサーバーを設定するにはどうすればよいですか(コマンドの後にEnterキーを押してもらいたくない)。また、バッファリングされた/バッファされていないバイトと前後に変更できるように、コンフィグレーションの中間セッションを変更する方法はありますか?

私はちょうどそれを使用するようにツイストを設定する方法がわからない「LINEMODE」--- http://www.freesoft.org/CIE/RFC/1700/10.htm

それはTelnetオプション34だと思う...

Telnetのためにこれを設定するすべてのヘルプまたはSSHは高く評価されています! ありがとう!

答えて

1

twisted.conch.telnet.TelnetBootstrapProtocolは、オプションのネゴシエーションを行う方法の良い例です。 LINEMODEネゴシエーションを実行することもあります。詳細については、the implementationを見てみましょうが、ここでは、サーバがラインモードを有効にするために、クライアントを求めて示し抜粋です、NAWS、およびSGA:

for opt in (LINEMODE, NAWS, SGA): 
    self.transport.do(opt).addErrback(log.err) 

実サーバは交渉場合log.errよりも多くのエラー処理を行いたいかもしれませんクライアントはサーバとの使用にはおそらく理想的ではない状態に置かれるため、失敗します。

また、Twistedに付属のfunky terminal demosをご覧ください。これらは、一度に1文字ずつの処理を行います。

関連する問題