D.H.Q的烂笔头

Just code for fun~

Archive for 6, 2013

Erlang 与 WebSocket 之间的通讯交互

WebSocketHTML5 引入的新功能,它提供了一种数据可以在浏览器与服务器间双向、按序到达的实时通讯技术,可以说,它是 WEB 应用程序上的传输协议。

相对于传统的的 CometAjax 轮询(polling)、长轮询(long-polling)以及流(streaming)等数据通讯方案,WebSocket 跟服务器连接时所发送的数据量更少,数据传输速度更快,而且它是一种服务器向客户端主动推送数据的技术,因此,它比前两者更具时效性。

WebSocket 握手协议

继续阅读 »

利用 Luerl 在 Heroku 上搭建基于 Erlang 的 Lua Web Shell

其实刚开始接触 Lua 时,就想着能不能也做一个像之前的 Erlang Web Shell 那样方便调试 Erlang 代码的东西出来。一番了解后,Lua 里的 loadstring 函数和 loadfile 函数可以动态解释 Lua 的表达式,不过经过一些测试,发现需要的执行结果却很难返回来,例如 print 函数输出的结果是捕获不到的,解析的结果返回不了给前端,那也没用。喜闻乐见的是,后来无意中发现了 Luerl 这么一个东西。

What's Luerl

Luerl 是一个用纯 Erlang 写的 Lua 解释器,你可以在 Erlang 里执行符合 Lua 语法的表达式和调用其内置的模块函数方法,或者是执行调用一个外部的 Lua 文件。可以说,它纯粹是一个在 Erlang 里实现的 Lua VM。

Luerl 的安装很简单,直接从 github 上载下来,然后到根目录 make 一下就行:

git clone git://github.com/rvirding/luerl.git
make

继续阅读 »
返回顶部