『Land Of Lisp』という書籍で簡易的なWebサーバを作る章の勉強をしています。
ポート8080にソケットを開いて、ブラウザで以下(p259)を入力したのですが、接続が拒否されてしまいます。
Lisp
1;;処理系はClispです 2(defun serve (request-handler) 3 (let ((socket (socket-server 8080))) 4 (unwind-protect 5 (loop (with-open-stream (stream (socket-accept socket)) 6 (let* ((url (parse-url (read-line stream))) 7 (path (car url)) 8 (header (get-header stream)) 9 (params (append (cdr url) 10 (get-content-params stream header))) 11 (*standard-output* stream)) 12 (funcall request-handler path header params)))) 13 (socket-server-close socket))))
以下のコマンドでポート8080が正常に機能していることは確認済みですので、localhostに接続できていないことが原因であると考えています。
lsof -i :8080
いろいろと解決策を調べている中で、以下は試しました。
・ファイアーウォールの設定で、Google Chrome.appの接続を許可
・プロキシの設定で、「プロキシ設定を使用しないホストとドメイン」に*.localがあることを確認
原因の調査方法・調査観点などをご教示いただければと思います。
よろしくお願いします。
【追記】
Apacheの起動を行なっていなかったため、以下コマンドでhttp://localhostと打ち込んで「It works!」と表示されるところまでは確認できたのですが、ポート8080に接続しようとすると反応のない状況です。
sudo apachectl start