Преобразование строки javascript в двоичный термин erlang

У меня есть обработчик cowboy ws с бинарным сопоставлением шаблонов следующим образом:

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

Мне нужно вызвать этот обработчик с помощью кода js, поэтому я использую Bert.js для кодирования строковой переменной js в двоичный термин erlang следующим образом:

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

Но я не мог вызвать свой обработчик с этим закодированным аргументом!!

Является ли мой закодированный аргумент неправильным? или есть другой способ сделать двоичный термин erlang с помощью js?


person H. SLF    schedule 24.01.2017    source источник


Ответы (2)


Я не использовал Bert, но кажется, что Bert.encode принимает в качестве аргумента строку, которую нужно преобразовать в двоичную.

Нотация Erlang использует <<...>> для идентификации термина как двоичного, а внутренний "..." сообщает компилятору или пользователю, что элементы двоичного файла являются символами ascii. Они не являются частью самого двоичного файла и не должны передаваться в функцию Bert.binary.

Я думаю, что Bert.binary("Reg: " + input2) правильно.

person Pascal    schedule 24.01.2017

Я использовал строку brut js, и теперь она работает.

websocket.send("Reg: " +input2 );
person H. SLF    schedule 24.01.2017