<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-IN" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US">Hi  ,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US">I used the test code comes with library and modified the path .
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US">you can have a look at wireshark capture  and see how your socketio connects normally with socket.io.js client
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US">Subi<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif""> Andy Green [mailto:extracats@googlemail.com]
<b>On Behalf Of </b>sthustfo<br>
<b>Sent:</b> 20 August 2014 16:59<br>
<b>To:</b> Subi S S<br>
<b>Cc:</b> libwebsockets@ml.libwebsockets.org<br>
<b>Subject:</b> Re: [Libwebsockets] Unable to communicate with node server over Websocket<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hi Subi,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I was of the opinion that in order to connect to the server, you need to have a path like -  "/<a href="http://socket.io/1/websocket/RJmiyNAyu1PZFRp5WiLn">socket.io/1/websocket/RJmiyNAyu1PZFRp5WiLn</a>". Where "RJmiyNAyu1PZFRp5WiLn" is
 an id that is returned by the nodejs (<a href="http://socket.io">socket.io</a>) server in response to GET request sent over HTTP (xhr).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">And the source of this info is - <a href="http://stackoverflow.com/questions/21469076/websocket-client-with-socketio-engineio">http://stackoverflow.com/questions/21469076/websocket-client-with-socketio-engineio</a>. I tried to connect using
 the path you mentioned, but I am receiving LWS_CALLBACK_CLIENT_CONNECTION_ERROR. Is it possible to share a sample lws client code which I can use to connect?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Wed, Aug 20, 2014 at 12:18 PM, Subi S S <<a href="mailto:andy.green@linaro.org" target="_blank">andy.green@linaro.org</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi ,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I used the following code to connect , defined transport as websocket</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">383         /* create a client websocket using dumb increment protocol */</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">384
</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">385         wsi_dumb = libwebsocket_client_connect(context, address, port, use_ssl,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D;background:yellow">386                         "/<a href="http://socket.io/?transport=websocket" target="_blank">socket.io/?transport=websocket</a>",</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">
 argv[optind], argv[optind],</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">387                          "http", ietf_version);</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif"">
 Andy Green [mailto:<a href="mailto:extracats@googlemail.com" target="_blank">extracats@googlemail.com</a>]
<b>On Behalf Of </b>sthustfo<br>
<b>Sent:</b> 18 August 2014 21:04<br>
<b>To:</b> Subi S S</span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><br>
<b>Cc:</b> <a href="mailto:libwebsockets@ml.libwebsockets.org" target="_blank">libwebsockets@ml.libwebsockets.org</a><br>
<b>Subject:</b> Re: [Libwebsockets] Unable to communicate with node server over Websocket<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi Subi,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I got to know that in case of
<a href="http://socket.io" target="_blank">socket.io</a>, one needs to obtain the id from the nodejs server using HTTP GET and then use that id when connecting over WS. How did you get the id? Did you use lws library or some other means?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">On Mon, Aug 18, 2014 at 6:00 PM, Subi S S <<a href="mailto:andy.green@linaro.org" target="_blank">andy.green@linaro.org</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I was able to make it work after changing the socket io path, I was connecting to wrong
 path.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Subi</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Andy
 Green [mailto:<a href="mailto:extracats@googlemail.com" target="_blank">extracats@googlemail.com</a>]
<b>On Behalf Of </b>sthustfo<br>
<b>Sent:</b> Monday, August 18, 2014 3:26 PM<br>
<b>To:</b> Subi S S<br>
<b>Cc:</b> <a href="mailto:libwebsockets@ml.libwebsockets.orgo" target="_blank">libwebsockets@ml.libwebsockets.orgo</a>
</span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US">Subject:</span></b><span lang="EN-US"> Re: [Libwebsockets] Unable to communicate with node server over Websocket</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Hi Subi,</span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Apologies for the delayed response as I haven't checked my mails in a while. The sample nodejs server I used is mentioned in this mail thread in an earlier mail.
 Please check this thread.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Cheers.</span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"> </span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On Mon, Aug 11, 2014 at 12:22 PM, Subi S S <<a href="mailto:andy.green@linaro.org" target="_blank">andy.green@linaro.org</a>> wrote:</span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Sthustfo,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I am facing the same issue you were mentioning in the earlier email, could you please
 let me know how you recovered ? </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Also is it possible for you to share the sample nodejs server code you are trying ?</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Subi</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Andy
 Green [mailto:<a href="mailto:extracats@googlemail.com" target="_blank">extracats@googlemail.com</a>]
<b>On Behalf Of </b>sthustfo<br>
<b>Sent:</b> Wednesday, August 06, 2014 11:33 AM<br>
<b>To:</b> Andy Green<br>
<b>Cc:</b> <a href="mailto:libwebsockets@ml.libwebsockets.org" target="_blank">libwebsockets@ml.libwebsockets.org</a><br>
<b>Subject:</b> Re: [Libwebsockets] Unable to communicate with node server over Websocket</span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Hi Andy,</span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Now able to communicate with the node server. There was a typo with the path value.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">-</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US">sthustfo</span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">On Tue, Aug 5, 2014 at 7:15 PM, Andy Green <<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>> wrote:</span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"><br>
<br>
On 5 August 2014 21:01:35 GMT+08:00, sthustfo <<a href="mailto:sthustfo@gmail.com" target="_blank">sthustfo@gmail.com</a>> wrote:<br>
>Andy,<br>
><br>
>Thanks for the suggestions. I did try putting one protocol structure,<br>
>and I<br>
>see the earlier behavior which is parsing error. I will keep looking<br>
>into<br>
>this. Meanwhile, I found a node.js and <a href="http://socket.io" target="_blank">
socket.io</a> based server hosted<br>
>online<br>
>- <a href="http://appolo-chat-example.herokuapp.com/" target="_blank">appolo-chat-example.herokuapp.com/</a>.<br>
><br>
>I was able to capture the ws handshake messages using chrome.<br>
><br>
></span><o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">>   1. Request URL:<br>
>   ws://<br>
><a href="http://appolo-chat-example.herokuapp.com/socket.io/?EIO=2&transport=websocket&sid=DSqTKgIc-CNbawicAAAB" target="_blank">appolo-chat-example.herokuapp.com/socket.io/?EIO=2&transport=websocket&sid=DSqTKgIc-CNbawicAAAB</a><br>
>   2. Request Method:<br>
>   GET<br>
>   3. Status Code:<br>
>   101 Switching Protocols<br>
>   4. Request Headers<br>
>      1.<br>
>      Provisional headers are shown<br>
>      2. Cache-Control:<br>
>      no-cache<br>
>      3. Connection:<br>
>      Upgrade<br>
>      4. Cookie:<br>
>      io=DSqTKgIc-CNbawicAAAB<br>
>      5. Host:<br>
>      <a href="http://appolo-chat-example.herokuapp.com" target="_blank">appolo-chat-example.herokuapp.com</a><br>
>      6. Origin:<br>
>      <a href="http://appolo-chat-example.herokuapp.com" target="_blank">http://appolo-chat-example.herokuapp.com</a><br>
>      7. Pragma:<br>
>      no-cache<br>
>      8. Sec-WebSocket-Extensions:<br>
>     permessage-deflate; client_max_window_bits, x-webkit-deflate-frame<br>
>      9. Sec-WebSocket-Key:<br>
>      SR0i9G/oRJdJSgAXjo5iOw==<br>
>      10. Sec-WebSocket-Version:<br>
>      13<br>
<br>
This is the release version of the protocol.<br>
<br>
So for the version of <a href="http://socket.io" target="_blank">socket.io</a> they're using anyway, it should be compatible with lws.<br>
<br>
-Andy<br>
<br>
>      11. Upgrade:<br>
>      websocket<br>
>      12. User-Agent:</span><o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">>   Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko)<br>
>      Chrome/36.0.1985.125 Safari/537.36</span><o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">>      5. Query String Parametersview sourceview URL encoded<br>
>      1. EIO:<br>
>      2<br>
>      2. transport:<br>
>      websocket<br>
>      3. sid:<br>
>      DSqTKgIc-CNbawicAAAB<br>
>      6. Response Headers<br>
>      1. Connection:<br>
>      Upgrade<br>
>      2. Sec-Websocket-Accept:<br>
>      dWoZ+rfisaRB50AzubuYJhd9FBk=<br>
>      3. Upgrade:<br>
>      websocket<br>
>      4. Via:</span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US">>      1.1 vegur<br>
><br>
><br>
>-<br>
>sthustfo<br>
><br>
><br>
>On Tue, Aug 5, 2014 at 5:08 PM, Andy Green <<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>> wrote:<br>
><br>
>><br>
>><br>
>> On 5 August 2014 19:25:11 GMT+08:00, sthustfo <<a href="mailto:sthustfo@gmail.com" target="_blank">sthustfo@gmail.com</a>><br>
>wrote:<br>
>> >Hi Andy,<br>
>> ><br>
>> >Is there a way to supress the protocols altogether? I tried to set<br>
>the<br>
>> >"*info.protocols<br>
>> >= NULL"* and forced use_ssl=0 when creating the context using<br>
>> >libwebsocket_create_context() but the program encounters a SIGSEGV<br>
>> >during<br>
>> > lws_context_init_client_ssl().<br>
>> ><br>
>> >Is there a way to just not send any protocols (they are optional?)<br>
>and<br>
>> >use<br>
>> >pure ws://?<br>
>><br>
>> No, although you can negotiate with no protocol in the upgrade, in<br>
>lws the<br>
>> logical protocols contain the binding to the user callback, and the<br>
>first<br>
>> protocol is targeted for HTTP callbacks.<br>
>><br>
>> So logical callbacks themselves are not optional in lws and you have<br>
>to<br>
>> give at least one when creating the context.<br>
>><br>
>> However for client, you can give NULL as the protcol you're asking<br>
>for in<br>
>> libwebsocket_create_client() and he will upgrade with no protocol<br>
>header.<br>
>><br>
>> Similarly in server, you may create a protocol struct whose name is<br>
>NULL,<br>
>> he will match for no protocol header in the client upgrade.<br>
>><br>
>> So you can do what you want later, but in all cases must give at<br>
>least one<br>
>> protocol struct to the context so you can get any callbacks.<br>
>><br>
>> -Andy<br>
>><br>
>> ><br>
>> >Thanks.<br>
>> >sthustfo<br>
>> ><br>
>> ><br>
>> ><br>
>> >On Tue, Aug 5, 2014 at 4:11 PM, Andy Green <<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>> wrote:<br>
>> ><br>
>> >><br>
>> >><br>
>> >> On 5 August 2014 18:07:09 GMT+08:00, sthustfo <<a href="mailto:sthustfo@gmail.com" target="_blank">sthustfo@gmail.com</a>><br>
>> >wrote:<br>
>> >> >Hey Andy,<br>
>> >> ><br>
>> >> >Thanks for the quick response. I am not aware of the compliance<br>
>> >status<br>
>> >> >of<br>
>> >> ><a href="http://socket.io" target="_blank">socket.io</a> but am trying to find out the same. Meanwhile, here is<br>
>the<br>
>> >> >client<br>
>> >> >log with debug level 1023.<br>
>> >><br>
>> >> It seems to send us junk (|)<br>
>> >><br>
>> >> [411975:0442] CLIENT: nonblocking connect retry<br>
>> >> [411975:0442] CLIENT: libwebsocket_client_connect_2<br>
>> >> [411975:0442] CLIENT: libwebsocket_client_connect_2: address<br>
>> >127.0.0.1<br>
>> >> [411975:0442] CLIENT: connected<br>
>> >> [411975:0473] PARSER: WSI_TOKEN_NAME_PART '|'<br>
>> >> [411975:0473] INFO: Unknown method - dropping<br>
>> >> [411975:0474] WARN: problems parsing header<br>
>> >> [411975:0474] INFO: closing connection at<br>
>LWS_CONNMODE...SERVER_REPLY<br>
>> >><br>
>> >> If you didn't tell your server to support the protocols the test<br>
>> >clients<br>
>> >> uses, you wouldn't get any success anyway.  But it should just<br>
>close<br>
>> >the<br>
>> >> connection not send junk.<br>
>> >><br>
>> >> If you want to look further into it send the packet traces but I<br>
>> >guess it<br>
>> >> only supports some older RFC version of websockets.  Which is<br>
>> >probably a<br>
>> >> sign it's long unmaintained.<br>
>> >><br>
>> >> -Andy<br>
>> >><br>
>> >> >-<br>
>> >> >sthustfo<br>
>> >> ><br>
>> >> >On Tue, Aug 5, 2014 at 3:29 PM, Andy Green <<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>><br>
>wrote:<br>
>> >> ><br>
>> >> >><br>
>> >> >><br>
>> >> >> ><br>
>> >> >> >test@devpc:~/libwebsockets/build/bin$<br>
>./libwebsockets-test-client<br>
>> >> >> >127.0.0.1<br>
>> >> >> >--port=8888<br>
>> >> >><br>
>> >> >> Turn up the logging with -d 1023 or so<br>
>> >> >><br>
>> >> >> >libwebsockets test client<br>
>> >> >> >(C) Copyright 2010-2013 Andy Green <<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>> licensed<br>
>> >under<br>
>> >> >> >LGPL2.1<br>
>> >> >> >[1457:9886] NOTICE: Initial logging level 7<br>
>> >> >> >[1457:9886] NOTICE: Library version: 1.3 67f9459<br>
>> >> >> >[1457:9887] NOTICE: IPV6 compiled in and enabled<br>
>> >> >> >[1457:9887] NOTICE: libev support not compiled in<br>
>> >> >> >[1457:9889] NOTICE:  static allocation: 4472 + (12 x 1024 fds)<br>
>=<br>
>> >> >16760<br>
>> >> >> >bytes<br>
>> >> >> >[1457:9890] NOTICE:  canonical_hostname = pk-laptop<br>
>> >> >> >[1457:9890] NOTICE:  per-conn mem: 128 + 1594 headers +<br>
>protocol<br>
>> >rx<br>
>> >> >buf<br>
>> >> >> >Waiting for connect...<br>
>> >> >> >[1457:9932] WARN: problems parsing header<br>
>> >> >> >Exiting<br>
>> >> >> >[1457:9933] NOTICE: libwebsocket_context_destroy<br>
>> >> >> ><br>
>> >> >> >And on the node server, I see the following log<br>
>> >> >> ><br>
>> >> >> >test@devpc:~/node$ DEBUG=* node basic.js<br>
>> >> >> >   info  - <a href="http://socket.io" target="_blank">socket.io</a> started<br>
>> >> >> >   debug - destroying <a href="http://non-socket.io" target="_blank">non-socket.io</a> upgrade<br>
>> >> >> >   debug - destroying <a href="http://non-socket.io" target="_blank">non-socket.io</a> upgrade<br>
>> >> >><br>
>> >> >> Is <a href="http://socket.io" target="_blank">socket.io</a> compliant with the actual websockets standard or<br>
>some<br>
>> >> >older<br>
>> >> >> RFC?<br>
>> >> >><br>
>> >> >> It seems it can't parse our upgrade request (which does pretty<br>
>> >good<br>
>> >> >at<br>
>> >> >> being compliant with everything else).<br>
>> >> >><br>
>> >> >> -Andy<br>
>> >> >><br>
>> >> >><br>
>> >><br>
>> >><br>
>><br>
>></span><o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><span lang="EN-US"><br>
_______________________________________________<br>
Libwebsockets mailing list<br>
<a href="mailto:Libwebsockets@ml.libwebsockets.org" target="_blank">Libwebsockets@ml.libwebsockets.org</a><br>
<a href="http://ml.libwebsockets.org/mailman/listinfo/libwebsockets" target="_blank">http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</a></span><o:p></o:p></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><br>
_______________________________________________<br>
Libwebsockets mailing list<br>
<a href="mailto:Libwebsockets@ml.libwebsockets.org" target="_blank">Libwebsockets@ml.libwebsockets.org</a><br>
<a href="http://ml.libwebsockets.org/mailman/listinfo/libwebsockets" target="_blank">http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
Libwebsockets mailing list<br>
<a href="mailto:Libwebsockets@ml.libwebsockets.org">Libwebsockets@ml.libwebsockets.org</a><br>
<a href="http://ml.libwebsockets.org/mailman/listinfo/libwebsockets" target="_blank">http://ml.libwebsockets.org/mailman/listinfo/libwebsockets</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>