【发布时间】:2022-09-13 14:19:46
【问题描述】:
我正在尝试运行clojure.core.server/start-server,但我不想使用 repl,而是想要一个自定义函数作为接受选项。我正在关注 this post,其中一个 repl 服务器被执行为
clojure -X clojure.core.server/start-server :name '"server"' :port 5555 :accept clojure.core.server/repl :server-daemon false
我需要什么要求才能传递一个函数来接受 opt?如果我只想打印来自任何连接的请求怎么办?使用clojure.core/println之类的东西不起作用
clojure -X clojure.core.server/start-server :name '"server"' :port 5555 :accept clojure.core/println :server-daemon false
顺便说一句,我什至无法在 repl 本身上运行 start-server,每次发出请求时我都会遇到错误。是否可以从 repl 运行它?
(clojure.core.server/start-server {:name "server" :port 9000 :accept clojure.core.server/repl :server-daemon false})
#object[java.net.ServerSocket 0x25b865b5 "ServerSocket[addr=localhost/127.0.0.1,localport=9000]"]
user=> Exception in thread "Clojure Connection server 1" java.lang.ClassCastException: class clojure.core.server$repl cannot be cast to class clojure.lang.Named (clojure.core.server$repl and clojure.lang.Named are in unnamed module of loader 'app')
at clojure.core$namespace.invokeStatic(core.clj:1612)
at clojure.core.server$accept_connection.invokeStatic(server.clj:73)
at clojure.core.server$start_server$fn__8998$fn__8999$fn__9001.invoke(server.clj:117)
at clojure.lang.AFn.run(AFn.java:22)
at java.base/java.lang.Thread.run(Thread.java:833)
【问题讨论】:
标签: clojure clojure-repl