<div dir="ltr">Hi Andy,<div><br></div><div>Thanks for your help.</div><div>While trying different things, I finally got it to work.</div><div>It indeed had nothing to do with the library, but the port number was apparently causing issues.</div>

<div>Weird that it was still working over LAN though.</div><div>I feel a bit stupid now...</div><div><br></div><div>Thanks again and keep up the good work.</div><div>The library rocks!</div><div><br></div><div>Best,</div>

<div>Willem</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-08-12 0:49 GMT+02:00 Andy Green <span dir="ltr"><<a href="mailto:andy@warmcat.com" target="_blank">andy@warmcat.com</a>></span>:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><br>
<br>
On 12 August 2014 00:15:13 GMT+08:00, Willem Burgers <<a href="mailto:wa.burgers%2Blws@gmail.com">wa.burgers+lws@gmail.com</a>> wrote:<br>
>Hi,<br>
><br>
>I have a libwebsockets server running.<br>
>Whenever I try to connect over LAN, it works perfectly fine, but when I<br>
>try<br>
>to connect over the Internet, the connection times out with error code<br>
>1006.<br>
>I have forwarded the websocket port on my router to the correct port<br>
>for<br>
>the server.<br>
>In the JavaScript of the page I use the external IP obviously.<br>
>I tried a NodeJS echo server, which works fine over the Internet.<br>
>Also the libwebsockets-test-server works perfectly fine.<br>
<br>
</div>Well, if the test server can work, there should be no problem on the library side.<br>
<div class=""><br>
>My HTTP callback just returns 0, because the html file is hosted on<br>
>another<br>
>machine.<br>
><br>
>static int httpCallback(struct libwebsocket_context *context,<br>
>struct libwebsocket *wsi,<br>
>enum libwebsocket_callback_reasons reason,<br>
> void *user, void *in, size_t len) {<br>
>    return 0;<br>
>}<br>
><br>
>Should this be changed for libwebsockets to work over the Internet?<br>
<br>
</div>No although I never tried it, it should be ok.<br>
<div class=""><br>
>Does it need to accept the Upgrade http request itself?<br>
<br>
</div>Yes lws must get the upgrade request.  Otherwise is neither knows you want a websocket connection nor what protocol etc<br>
<div class=""><br>
>If so, why does it work over LAN connections?<br>
<br>
</div>I suspect you're confusing the general http serving support done by the user callback, with the handling of the upgrade request, which is done by the library itself since it is required for any websocket connection.  If so it's a red herring.<br>


<br>
What I would do is 1) tcpdump the handshake from both sides and if that doesn't help, 2) replace my user code with user code from the test server.  If that works, change it back to your code piece by piece until it breaks again.<br>


<br>
-Andy<br>
<br>
>Thanks,<br>
>Willem<br>
><br>
><br>
>------------------------------------------------------------------------<br>
><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><br>
<br>
</blockquote></div><br></div>