【问题标题】:rpc server in elisp / emacselisp / emacs 中的 rpc 服务器
【发布时间】:2011-08-23 20:07:18
【问题描述】:

有什么东西可以在 emacs 中向外界提供远程过程调用吗? 有没有人在 emacs 中从事 bert、messagepack、thrift 甚至 xml-rpc 服务器的工作?

这是我正在进行的使用 json 与 emacs 通信的工作。 https://github.com/tinku99/elisp_rpc

我想知道 json-rpc 是否用于开箱即用的跨语言工作...似乎specification 无法管理连接...这似乎是成功的一半。

【问题讨论】:

    标签: emacs rpc


    【解决方案1】:

    Elnode 用作 HTTP 服务器。

    构建一个接收 JSON 或 XML 或任何你喜欢的东西的处理程序应该不会太难,解包并做一些有趣的事情。

    Elnode 包含一个名为“insideout”的示例处理程序,它通过 http 发布 emacs 实例的缓冲区列表。如果您浏览到http://localhost:8028/,您会看到一个 HTML 页面,其中列出了活动缓冲区的逐项列表。

    我想你可以做一些有趣的事情。例如,您可以使用Edward O'Connor's json.el 构建一个接收并发出 json 的处理程序

    【讨论】:

    • 谢谢,我想这结合emacswiki.org/emacs/UrlPackage 客户端部分会起作用...
    • 很高兴看到人们推荐 Elnode!我希望尽快将 JSON-RPC 的实现添加到 Elnode。
    【解决方案2】:

    使用 Emacs 作为 rpc 服务器的一个问题是 Emacs 中缺少线程。 Distel 库“用 Erlang 风格的进程和消息传递扩展了 Emacs Lisp”;因此,您可以使用它来提供 rpc 机制。不久前,我在 Distel 上写了一些博客文章:

    1. Distel = Erlang-like Concurrency in Emacs
    2. Distel = Emacs erlang-mode++
    3. Concurrent/Parallel Programming - The Next Generation - Part 2(帖子底部)

    它们会让您对在 Emacs 中使用 Distel 有一点“感觉”。

    【讨论】:

    • 链接已损坏
    【解决方案3】:

    我也发现了这个 stompl 实现 https://github.com/jwhitlark/Stompem/blob/master/stompem.el 我想知道在 emacs 中编写 zeromq 或 rabbitmq 实现会有多难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-27
      • 2011-04-23
      • 2010-12-07
      • 1970-01-01
      • 2012-07-27
      • 2012-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多