Webmachine似乎是一个构建REST web服务的好系统,但我知道它不提供websocket兼容性。我的问题相当直接:在webmachine构建的web服务之上添加websocket功能的好方法是什么?
我正在与Webmachine一起运行Misultin。
为了方便在webmachine中使用websockets,我通过改变webmachine的源代码(增加对mochiweb_websockets的支持)和mochiweb(增加对安全websockets的支持)来实现。
你可以通过这个链接从git下载完整的解决方案(webmachine with websockets support):https://github.com/Dryymoon/webmachine.git
并通过此链接示例使用解决方案。
或者如果想深入挖掘:我只修改了两个文件的源代码:
1) webmachine_decision_core。Erl更改(添加支持websocket处理程序)。
2) mochiweb_websocket。
晚回答,但只是偶然发现这个,但另一个选择是运行SimpleBridge (https://github.com/nitrogen/simple_bridge),它添加了一个抽象层(有条件地绕过使用webmachines路由系统),它添加websocket支持任何erlang web服务器(包括webmachine)