Начало работы с SLIME и SWANK: соединение с Lisp неожиданно закрылось: соединение разорвано удаленным узлом - PullRequest
8 голосов
/ 17 декабря 2008

Я пытался использовать функцию slime-connect, чтобы получить доступ к удаленному серверу с помощью sbcl. Я выполнил все шаги из фильма slime.mov из Марко Барингер, , но застрял при создании ssh-соединения для slime. Это уже после запуска сервера swank на удаленной машине. Я сделал это так:

ssh -L 4005:127.0.0.1:4005 user@server.com

И я получил эти ошибки, на локальном SLIME:

Лисп-соединение неожиданно закрылось: соединение разорвано удаленным узлом

... и на удаленном сервере:

канал 3: сбой открытия: сбой подключения: соединение отклонено

Что может быть не так?

Ответы [ 4 ]

4 голосов
/ 30 января 2009

Вы проверили, что используемая вами версия SLIME и SWANK одинакова? У меня случались странные вещи, когда я использовал несовпадающие версии этих двух половинок сессии SLIME.

2 голосов
/ 05 января 2009

Самое простое, что можно пропустить - это порт tcp, который прослушивает сервер swank. В последнее время я не занимался удаленной разработкой, но помню, что в первый раз у меня возникли проблемы с пониманием, как сказать swank, какой порт связывать, или узнать, какой из них он выбрал. *

Не могли бы вы рассказать о том, как вы на самом деле запустили сервер swank?

2 голосов
/ 21 декабря 2008

Не знаю, но вы можете попробовать подключиться к swank на удаленной машине локально.

ssh user@server.com
telnet 127.0.0.1:4005

Может быть, вы найдете ошибки. Также вы можете попробовать localhost: 4005 вместо 127.0.0.1 и проверить, правильно ли настроен интерфейс localhost.

0 голосов
/ 27 января 2019

Для меня проблема заключалась в том, что функция slime (v2.22) из ​​Emacs запускалась с дополнительным аргументом from-emacs t, который swank-loader.lisp не поддерживал (v2.22).

Для меня сработало редактирование slime-v2.22/swank-loader.lisp:init для принятия одного нового аргумента from-emacs, который не используется как причина в теле функции, потому что я не знаю, как этот аргумент следует обрабатывать. Но slime начинается сейчас нормально и работоспособно.

Также при запуске slime я получаю предупреждение о несовместимых версиях: slime v2.23 и swank v2.22, но, как я проверял с помощью list-packages и просто по именам папок - у меня есть slime и swank обе версии v2.22. Это путаница для меня прямо сейчас.

Если кто-то знает подробности об этом, пожалуйста, прокомментируйте.

...