Programming Clojureを読んだ直後にも書いたが、またEcho serverを書いてみた。以前に作成したのは冗長だった。 clojure.contrib.server-socketとclojure.contrib.duck-streams/copyを使うと簡単だ。 (ns socket-test (:use [clojure.contrib.server-socket :only (create-server close-server)] [clojure.contrib.duck-streams :only (copy)])) (def *server* (atom nil)) (def *port* 10000) (defn echo-fn [in out] (println "echo start") (copy in out) (println "echo end")