几天前我开始学习 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 端口不是很有帮助。
我的操作系统是 Ubuntu 12.04.2 LTS,Leiningen 版本是 2.0.0-preview10,全部运行在 Java 1.6.0_24 OpenJDK 64 位服务器 VM 上。
谁能告诉我如何为 tcp 服务器配置端口绑定?
谢谢你的时间。