Все отлично работает — сокет создается, клиент удачно подключается. Но вот как работает функция (read socket-stream) я понять совсем не могу. Oна не возвращает управление. Она вроде должна читать s-expressions которые приходят по сети. Возвращает управление только тогда, когда на другом конце сделать socket-close. Тогда вернет то, что передали.
Я пробовал передавать #\return и #\newline, тогда оно возвращает управление через раз (еще не увидел закономерности) и я совсем не могу понять что нужно передать ей по сети чтоб все работало нормально. Можно использовать socket-receive, которая не возвращает то, что пришло, но это слишком грубо.
Пример клиента:
(let ((socket-stream (sb-bsd-sockets:socket-make-stream socket :input t :output t))) ;; Опустим процесс подключения для простоты
(format socket-stream "~a" 'some-symbol))