<div dir="ltr">I believe this is why tools like SockJS use their own JSON binary encoding on the wire <div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 1, 2013 at 6:57 AM, Loïc Hoguin <span dir="ltr"><<a href="mailto:essen@ninenines.eu" target="_blank">essen@ninenines.eu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Note that bullet only supports text data right now which must be valid UTF-8 with some transports like Websocket. So what I'm guessing happens is that the browser encodes your binary to be valid UTF-8 and messes things up. To use binary data with bullet you need to base64 encode it or something similar.<div>
<div class="h5"><br>
<br>
On 07/01/2013 09:03 AM, Kolo Rahl wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
I've been messing around with Bullet and Cowboy recently and am loving<br>
how easy it is to perform websocket handling. But then I tried<br>
integrating a BERT JavaScript library with it (the one from 5HT/n2o) and<br>
noticed that the messages hitting my server are in a form that can't be<br>
parsed by binary_to_term/1, which is the whole point to to using BERT<br>
encoding. Even just sending a string or an integer results in an error<br>
on the server.<br>
<br>
Client/JavaScript:<br>
bullet.send(Bert.encode("<u></u>testing"))<br>
<br>
Server/Erlang:<br>
** Cowboy handler bullet_handler terminating in websocket_handle/3<br>
    for the reason error:badarg<br>
** Message was {text,<<194,131,107,0,7,116,<u></u>101,115,116,105,110,103>>}<br>
[...]<br>
** Stacktrace: [{erlang,binary_to_term,<br>
[<<194,131,107,0,7,116,101,<u></u>115,116,105,110,103>>],[]},<br>
[...]<br>
<br>
Calling term_to_binary/1 using "testing" returns<br>
<<131,107,0,7,116,101,115,116,<u></u>105,110,103>>, so I can only imagine it's<br>
that "194" part at the head of the binary object that's the problem, but<br>
I don't know why it's there and whether that's a result of the internals<br>
of the client or of the server. Any help?<br>
<br>
<br></div></div><div class="im">
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
<br>
</div></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
-- <br>
Loïc Hoguin<br>
Erlang Cowboy<br>
Nine Nines<br>
<a href="http://ninenines.eu" target="_blank">http://ninenines.eu</a></font></span><div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>