将javascript字符串转换为二进制erlang术语

时间:2017-01-24 09:29:15

标签: javascript erlang cowboy bert-rpc

我有一个带有二进制模式匹配的牛仔ws处理程序,如下所示:

websocket_handle({text, <<"Reg: ",Message/binary>>}, Req, State)

我需要用js代码调用这个处理程序,所以我使用Bert.js将js字符串变量编码为二进制erlang术语,如下所示:

 websocket.send(Bert.encode(Bert.binary("<<\"Reg: \" , \""+input2 + "\">>")));

但我无法用这个编码的参数调用我的处理程序!!

我的编码参数是错误的吗?或者是否有另一种方法用js制作erlang二元词?

2 个答案:

答案 0 :(得分:0)

我没有使用Bert,但似乎Bert.encode将必须转换为二进制的字符串作为参数。

Erlang表示法使用<<...>>将术语标识为二进制,并使用内部"..."向编译器或用户说明二进制文件的元素是ascii字符。它们不是二进制文件本身的一部分,不应传递给Bert.binary函数。

我认为Bert.binary("Reg: " + input2)是正确的。

答案 1 :(得分:0)

我使用了一个brut js字符串,它现在正在工作。

websocket.send("Reg: " +input2 );