LINUX.ORG.RU

История изменений

Исправление snake266, (текущая версия) :

Во-первых, используй макросы usocket, они для того и написаны чтобы меньше путаться

Хмм, в документации такого не нашел, так понимаю надо смотреть непосредственно исходный код?

Откуда ты взял это :EOF? Оно по какой причине должно материализоваться?

Честно признаться увидел в одной из тем на SO. Сначала использовал обычный nil

Это это тут после блокирующего read-line?

read-line блокирующий? Я вот сегодня с утра пришел к выводу, что socket-accept блокирующий. read-line блокирует выполнение пока в stream что-то не окажется?

Зачем тебе цикл тогда?

Добавил, когда сидел и последовательно запускал клиентов и смотрел, что это работает. Потом захотел добавить какую-то проверку если сокет со стороны клиента закрылся.

Блокирующие системные вызовы оно не прерывает. И вообще к SLY меньше документации итп, оно чаще глючит чем SLIME, и если ноль в этом вопросе, лучше начать со SLIME.

Спасибо, попробую. Использовал SLY потому что его по дефолту предлагает Doom Emacs – вот и подумал, что альтернатива вполне себе готовая.

Вот работающее решение

Спасибо! Буду изучать.

Исправление snake266, :

Во-первых, используй макросы usocket, они для того и написаны чтобы меньше путаться

Хмм, в документации такого не нашел, так понимаю надо смотреть непосредственно исходный код?

Откуда ты взял это :EOF? Оно по какой причине должно материализоваться?

Честно признаться увидел в одной из тем на SO. Сначала использовал обычный nil

Это это тут после блокирующего read-line?

read-line блокирующий? Я вот сегодня с утра пришел к выводу, что socket-accept блокирующий. read-line блокирует выполнение пока в stream что-то не окажется?

Зачем тебе цикл тогда?

Добавил, когда сидел и последовательно запускал клиентов и смотрел, что это работает. Потом захотел добавить какую-то проверку если сокет со стороны клиента закрылся.

Блокирующие системные вызовы оно не прерывает. И вообще к SLY меньше документации итп, оно чаще глючит чем SLIME, и если ноль в этом вопросе, лучше начать со SLIME.

Спасибо, попробую. Использовал SLY потому что его по дефолту предлагает Doom Emacs – вот и подумал, что альтернатива вполне себе готовая.

Вот работающее решение

Спасибо! Буду изучать.

Исходная версия snake266, :

Во-первых, используй макросы usocket, они для того и написаны чтобы меньше путаться

Хмм, в документации такого не нашел, так понимаю надо смотреть непосредственно исходный код?

Откуда ты взял это :EOF? Оно по какой причине должно материализоваться?

Честно признаться увидел в одной из тем на SO. Сначала использовал обычный nil

Это это тут после блокирующего read-line?

read-line блокирующий? Я вот сегодня с утра пришел к выводу, что socket-accept блокирующий. read-line блокирует выполнение пока в stream не что-то окажется?

Зачем тебе цикл тогда?

Добавил, когда сидел и последовательно запускал клиентов и смотрел, что это работает. Потом захотел добавить какую-то проверку если сокет со стороны клиента закрылся.

Блокирующие системные вызовы оно не прерывает. И вообще к SLY меньше документации итп, оно чаще глючит чем SLIME, и если ноль в этом вопросе, лучше начать со SLIME.

Спасибо, попробую. Использовал SLY потому что его по дефолту предлагает Doom Emacs – вот и подумал, что альтернатива вполне себе готовая.

Вот работающее решение

Спасибо! Буду изучать.