我该如何使用node.js (Express.js)创建一个web应用程序,可以访问python或ipython REPL命令行?本质上,我想有一些像IPython笔记本,但集成到一个node.js web应用程序。我还在考虑使用websockets在应用程序和服务器上的python实例之间进行低延迟,双向通信。
使用ZMQ节点绑定,并使用与IPython相同的协议直接与内核对话,如果您想要IPython笔记本节点,您可以创建一个节点内核(需要更新到最后一个协议版本)。IPython服务器已经有websocket, Emacs EIN已经使用它通过websocket与服务器通信。
[编辑]评论后的一些澄清。关于笔记本,当你打开笔记本web应用程序的第一个命令涉及3个组件。
- 内核(K) -在我们的情况下,ippython内核,但可以是IJulia, IHaskell…
- 服务器(S) -龙卷风在我们的情况下
- 客户端(C)——用于笔记本的Html/Js前端
(K)使用ZMQ与(S)通信。(S)作为Websocket转换的桥梁(C)通过websocket与S对话
在ZMQ和Websocket上的线路是语言无关的,所以你不关心的语言(K), (S)或(C)。ZMQ和Websocket使用相同的传输不是, 不是使用相同的接口/ip, 不是使用相同的端口。