我有一个带有二进制模式匹配的牛仔ws处理程序,如下所示:
websocket_handle({text, <<"Reg: ",Message/binary>>}, Req, State)
我需要用js代码调用这个处理程序,所以我使用Bert.js将js字符串变量编码为二进制erlang术语,如下所示:
websocket.send(Bert.encode(Bert.binary("<<\"Reg: \" , \""+input2 + "\">>")));
但我无法用这个编码的参数调用我的处理程序!!
我的编码参数是错误的吗?或者是否有另一种方法用js制作erlang二元词?
答案 0 :(得分:0)
我没有使用Bert,但似乎Bert.encode将必须转换为二进制的字符串作为参数。
Erlang表示法使用<<...>>
将术语标识为二进制,并使用内部"..."
向编译器或用户说明二进制文件的元素是ascii字符。它们不是二进制文件本身的一部分,不应传递给Bert.binary函数。
我认为Bert.binary("Reg: " + input2)
是正确的。
答案 1 :(得分:0)
我使用了一个brut js字符串,它现在正在工作。
websocket.send("Reg: " +input2 );