1

私はClojureを初めて使用します。特定のポートでIPへの接続を作成する簡単な例が必要です(実際には、既製のシステムがTELNET経由でこのポートに接続します)。この接続に何らかの文字を送信し、応答を受信して​​結果を表示 (解釈) します。

誰かがコードを介して表示できますか、これは上記の接続を使用した telnet のものです。前もって感謝します。

4

1 に答える 1

5

最善の策は、clojure のJava 相互運用機能を使用して、既存の telnet クライアント ライブラリをラップすることです。

Apache commons-netは、最初の目的地として適しています。 簡単に移植できるtelnet クライアントの (Java での) 例があります。

たとえば、Java でコーディングする clojure Java 相互運用機能を使用する方が簡単であることがよくあります。

// from TelnetClientExample

tc = new TelnetClient();

TerminalTypeOptionHandler ttopt = new TerminalTypeOptionHandler("VT100", false, false, true, false);
EchoOptionHandler echoopt = new EchoOptionHandler(true, false, true, false);
SuppressGAOptionHandler gaopt = new SuppressGAOptionHandler(true, true, true, true);

clojure では次のようになります。

(ns telnet.core
  (:import [org.apache.commons.net.telnet TelnetClient TelnetNotificationHandler SimpleOptionHandler EchoOptionHandler TerminalTypeOptionHandler SuppressGAOptionHandler InvalidTelnetOptionException]))

(def tc 
  (doto (TelnetClient.)
    (.addOptionHandler (TerminalTypeOptionHandler. 
                           "VT100" false false true false))
    (.addOptionHandler (EchoOptionHandler. 
                           true false true false))
    (.addOptionHandler (SuppressGAOptionHandler. 
                           true true true))))
于 2012-05-04T11:00:56.083 に答える