2011-05-12 4 views
4

외부에서 emacs의 원격 프로 시저 호출을 제공하는 데 필요한 것이 있습니까? emacs에서 bert, messagepack, thrift, 심지어 xml-rpc 서버에서 작업하는 사람은 누구입니까?elisp/emacs의 rpc 서버

이젠 제이슨을 사용하여 이맥스와 통신하고 있습니다. https://github.com/tinku99/elisp_rpc

json-rpc가 상자에서 나온 크로스 워드 작업에 사용되는지 궁금합니다 ... specification이 (가) 연결 관리를 중단하는 것처럼 보입니다 ... 전투의 절반 인 것처럼 보입니다.

답변

5

Elnode은 HTTP 서버로 작동합니다.

JSON이나 XML을받는 핸들러를 만들거나, 원하는 것을 풀고, 압축을 풀고, 흥미로운 작업을 수행하는 핸들러를 만들기가 너무 어렵지 않아야합니다.

Elnode에는 http를 통해 emacs 인스턴스의 버퍼 목록을 게시하는 "insideout"이라는 예제 처리기가 포함되어 있습니다. http://localhost:8028/을 탐색하면 활성 버퍼의 항목 별 목록을 제공하는 HTML 페이지가 표시됩니다.

재미있는 일을 시작할 수 있다고 생각합니다. 예를 들어, 다음과 같이 사용하여 json으로 스터프하고 방출하는 핸들러를 빌드 할 수 있습니다. Edward O'Connor's json.el

+1

감사합니다. http://www.emacswiki.org/emacs/UrlPackage와 함께 클라이언트 부품이 작동합니다. – Naveen

+1

json.el과 함께 elnode를 사용했습니다. https://github.com/tinku99/ elisp_rpc – Naveen

+0

Elnode를 추천하는 사람들을 만나서 반갑습니다! 조만간 Elnode에 JSON-RPC 구현을 추가하기를 희망합니다. –

4

이맥스를 rpc 서버로 사용하는 데있어 한 가지 문제는 Emacs에서 스레딩이 부족한 것입니다. Distel 라이브러리는 "Erlang 스타일의 프로세스와 메시지 전달을 통해 Emacs Lisp를 확장합니다"; 그래서, 당신은 rpc 메커니즘을 제공하기 위해 그것을 사용할 수 있습니다.

  1. Distel = Erlang-like Concurrency in Emacs
  2. Distel = Emacs erlang-mode++
  3. Concurrent/Parallel Programming - The Next Generation - Part 2 (해당 게시물의 하단) 그들은 당신에게 조금 줄 것이다

: 얼마 뒤, 나는 Distel에 블로그 게시물의 수를 썼다 Emacs에서 Distel을 사용하는 것과 같은 느낌을줍니다.

+0

링크가 깨졌습니다. –