Я работаю над клиентом TCP в lisp, и у меня возникают трудности с чтением/печатью потока сокетов правильно. Когда клиент отправляет данные на сервер, он должен получить ответ, и мне нужно записать его в стандартный вывод. Это работает правильно, за исключением того, что у меня проблема, когда ответ печатает дважды. Если у меня будет отправлено несколько команд, будет напечатано только последнее. Вот мой код:Read-line from socket-stream in lisp
(defun socket-print (string socket)
(write-line string (usocket:socket-stream socket))
(force-output (usocket:socket-stream socket)))
(defun socket-read (socket)
(write-line (read-line (usocket:socket-stream socket) nil)))
(defun mytest (command)
(let ((socket (usocket:socket-connect _IP_ _PORT_)))
(socket-print command socket)
(socket-read socket)))
Это именно то, что мне было нужно, Благодарю. – unbootabru