0

TCP/IP ソケット (sbcl および Linux システムの usocket ライブラリを使用) を使用して、Lisp スクリプトから別のプログラムに通信しようとしています。

これまでのところ、次のコードを取得しました。

(require 'asdf)
(require 'usocket)

(defun start-client ()
    (   usocket:with-client-socket
    (socket stream "0.0.0.0" 30000)


    (loop for x in '("1~%" "2~%" "3~%" "4~%" "5~%") do 
        (format stream x)
        (force-output stream)
        (sleep 1)
        ;;(format t "~A~%" (read-line stream))
    )
    )
)
(start-client)

コメント行を除いて、コードは正常に機能します。

(format t "~A~%" (read-line stream))

したがって、メッセージ1、2、3 ...を他のソケット(別のプログラム)から送受信し、他のプログラムからlispにメッセージを送り返すことができます。しかし、lisp からメッセージを読み取るために行のコメントを外すと、上記のコードは停止して永遠に待機しているように見えます。

4

1 に答える 1