rpc сервер в elisp / emacs - PullRequest
       1

rpc сервер в elisp / emacs

4 голосов
/ 12 мая 2011

Есть ли что-нибудь для обеспечения удаленного вызова процедур в emacs для внешнего мира? есть ли кто-нибудь, работающий на сервере emacs на сервере bert, messagepack, thrift, даже xml-rpc?

вот моя работа в процессе использования json для связи с emacs. https://github.com/tinku99/elisp_rpc

Мне интересно, используется ли json-rpc для кросс-языковой работы из коробки ... похоже, что спецификация не справляется с управлением соединением ... что, кажется, полдела.

Ответы [ 3 ]

5 голосов
/ 12 мая 2011

Elnode работает как HTTP-сервер.

Не должно быть слишком сложно создать обработчик, который получает JSON или XML или что угодно, распаковывает их и делает что-то интересное.

Elnode включает в себя пример обработчика, называемого "insideout", который публикует список буферов экземпляра emacs через http. Если вы перейдете к http://localhost:8028/, вы получите страницу HTML, которая дает подробный список активных буферов.

Начав с того, что вы могли бы сделать что-то интересное, я полагаю. Например, вы можете создать обработчик, который вводит и испускает json, используя Edward O'Connor's json.el

4 голосов
/ 12 мая 2011

Одной из проблем при использовании Emacs в качестве сервера rpc будет отсутствие потоков в Emacs.Библиотека Distel"расширяет Emacs Lisp процессами в стиле Erlang и передачей сообщений";Таким образом, вы можете использовать его для предоставления механизма RPC.Некоторое время назад я написал несколько постов в блоге на Distel:

  1. Distel = Erlang-подобный параллелизм в Emacs
  2. Distel = Emacs erlang-mode ++
  3. Параллельное / Параллельное программирование - Следующее поколение - Часть 2 (внизу этого поста)

Они дадут вам немного«почувствовать», каково это использовать Distel в Emacs.

1 голос
/ 22 мая 2011

Я нашел эту реализацию stompl также https://github.com/jwhitlark/Stompem/blob/master/stompem.el Интересно, как трудно было бы написать реализацию в zeromq или rabbitmq в emacs.

...