Как Clojure читает данные из сокета - PullRequest
0 голосов
/ 02 ноября 2019

Я сделал tcp-запрос к эхо-серверу и собираюсь получить эхо-сообщение от сервера, но java.io/copy заблокирован, пока сервер не закроет клиентское соединение, могу ли я получить сообщение?

(defn send-request
  "Sends an HTTP GET request to the specified host, port, and path"
  [host port path]
  (with-open [sock (Socket. host port)
              writer (io/writer sock)
              reader (io/reader sock)
              response (StringWriter.)]
    (.append writer (str "jeff-test"))
    (.flush writer)
    ; block here till server close the connection
    (io/copy reader response)
    (println (slurp reader))
    (println "end   read\n")))
    (str response)
    (println response)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...