数日前に Clojure を学び始めました。いくつかの Aleph TCP エコー サーバーの例を試してみましたが、サーバーを tcp v4 ポートにバインドできません。デフォルトでは、サーバーは tcp v6 ポートにのみバインドします。
ここに私のプロジェクトファイル:
(defproject clj-echo-server "0.1.0-SNAPSHOT"
:description "Echo server with Aleph"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.4.0"]
[aleph "0.3.0-beta12"]]
:main clj-echo-server.core)
そしてサーバーコード:
(ns clj-echo-server.core)
(use 'lamina.core 'aleph.tcp 'gloss.core)
(defn handler [ch client-info]
(receive-all ch
#(enqueue ch (str "You said " %))))
(start-tcp-server
handler
{:port 9000, :frame (string :utf-8 :delimiters ["\r\n"])})
私が何か間違ったことをしているのか、バインディングポートを構成する方法を理解することができますが、tcp ポートに関するドキュメントはあまり役に立ちませんでした。
私の OS は Ubuntu 12.04.2 LTS で、Leiningen のバージョンは 2.0.0-preview10 で、すべて Java 1.6.0_24 OpenJDK 64 ビット サーバー VM で動作します。
tcp サーバーのポート バインディングを構成する方法について誰かアドバイスしてもらえますか?
御時間ありがとうございます。