From da9f8c68fb8048a559626ea2d327a04b65c432c7 Mon Sep 17 00:00:00 2001 From: Darren Bane Date: Thu, 3 Dec 2020 19:35:03 +0000 Subject: Simplify TCP server --- echo.lsp | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) (limited to 'echo.lsp') diff --git a/echo.lsp b/echo.lsp index 20b5e7e..4c788e6 100755 --- a/echo.lsp +++ b/echo.lsp @@ -42,24 +42,16 @@ (defun echo-server () ;; Server side (server addr : 127.0.0.1) (with-server-socket (server 8192 "tcp") - (let ((fds (create-vector 16 ())) - (fdr (create-vector 16 ())) - (fdw (create-vector 16 ()))) - (select-clear fds) - (select-add server fds) - (while (eq (select 1 fds fdr fdw () 5.0) 0) - (print "Waiting ....")) - (let ((client (accept server))) - ;; Talk with client using standard I/O. - (with-standard-input client - (with-standard-output client - (while t - (let* ((line1 (read-line)) - (tag-len (length +content-length+)) - (content-length (convert (subseq line1 (- tag-len 1) (length line1)) ))) - (read-line) - (marshal (json-parse (read-chars content-length))))))) - (close client)) - (select-remove server fds)))) + (let ((client (accept server))) + ;; Talk with client using standard I/O. + (with-standard-input client + (with-standard-output client + (while t + (let* ((line1 (read-line)) + (tag-len (length +content-length+)) + (content-length (convert (subseq line1 (- tag-len 1) (length line1)) ))) + (read-line) + (marshal (json-parse (read-chars content-length))))))) + (close client)))) (provide "echo") (echo-server) -- cgit 1.4.1-2-gfad0