私はClojureを初めて使用します。特定のポートでIPへの接続を作成する簡単な例が必要です(実際には、既製のシステムがTELNET経由でこのポートに接続します)。この接続に何らかの文字を送信し、応答を受信して結果を表示 (解釈) します。
誰かがコードを介して表示できますか、これは上記の接続を使用した telnet のものです。前もって感謝します。
最善の策は、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))))