3

telnet サーバーでホストされている MUD に接続するMUD クライアントアプリケーションを開始しようとしています。私にとって唯一重要なことは、どの OS でも問題なく効率的に動作することです。その要件を除けば、私は実際にどの言語でも販売されているわけではありません。

そこで、アプリケーションのベースとなる、無料で入手できる telnet クライアント ライブラリを探しているので、プロトコルの詳細にあまり対処する必要はありません。

4

6 に答える 6

7

私は常に、この種のもの (Python) に対してTwistedを検討します。

すばらしいのは、後で SSH や telnet よりも安全なものに交換することに決めた場合でも、ほとんど苦労せずにできることです。

于 2008-11-26T19:18:21.430 に答える
3

ツイスト、ツイスト、ツイスト!

telnet を使用するには、パッケージを参照してくださいtwisted.conch.telnet。いくつかの質素なAPI ドキュメントがありますが、使用に関する実際の情報は、このgrailmudのナゲット( MUD サーバー) など、Google Code Searchでの検索から得られます。

于 2008-11-26T21:24:16.293 に答える
2

Perlが好きなら、 CPANにはtelnetインターフェースがあります。それはかなり最小限ですが、それは仕事を成し遂げるはずです。

[編集] libcurlもtelnetを実行できるはずですが、例は見つかりませんでした。

于 2008-11-26T19:33:02.820 に答える
2

MUD プログラミングのすべてについて、RFC を使用してゼロから独自のルーチンを作成しました。

私の苦労を少しでも避けたい場合のために、Telnet を適切に処理するかなり単純な C# クラスにまとめました。熟読したい場合は、ここで表示できます。

このコードは、Windows と Linux (Mono を介して) でコピー アンド ペーストされ、いくつかの個別のプロジェクトで実行されており、かなりうまく機能します。

于 2008-11-26T19:41:32.477 に答える
0

pmc ( http://sourceforge.net/projects/perlmudclient/ ) はまさにこれを行う試みでした。私は先週のいくつかをそれを通して過ごしました。Net::Telnet の古い修正バージョンを使用して接続作業を行います。

私の問題は、Net::Telnet が部分的な行がサーバーによって送信されたとき、つまり行が改行で終わっていないときにブロッキング インターフェイスを持っているように見えることです。これをサポートする 2 つの機能 (waitfor とそのプロンプト メカニズム) があります。これは、ほぼすべてのtelnetサーバーが改行で終了しないプロンプトを備えているためです。

MUD には、多くの場合、非標準の「プロンプト」があり、ゲームの過程で変化します。私が管理している MUD には、ログイン時に "Your choice: " というプロンプトがあり [ユーザー名だけではありません]、多くのゲーム機能で別のプロンプトが表示されます。したがって、クロスプラットフォームの Telnet ライブラリを探しに行くときは、このことを念頭に置いておく必要があると思います。

于 2009-06-12T12:40:36.130 に答える
0

C が好きなら、libtelnetを心からお勧めします。IACすべてのシーケンス解析を行う内部状態を維持し、 Q メソッドを使用してオプション ネゴシエーションを処理します。

于 2012-02-19T20:22:26.017 に答える