<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Andy,<div>My shared library was already compiled with the flag you mentioned:</div><div>   cmake .. -DCMAKE_BUILD_TYPE=DEBUG -DLWS_WITHOUT_TESTAPPS=1</div><div><br></div><div>I've discovered the issue regarding the number of protocols thanks to the logs</div><div><div><font size="1">[2019/11/18 10:55:02:1782] I: Initial logging level 8</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I: Libwebsockets version: 3.2.0 v3.2.0</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I: IPV6 not compiled in</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I:  LWS_DEF_HEADER_LEN    : 4096</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I:  LWS_MAX_PROTOCOLS     : 5</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I:  LWS_MAX_SMP           : 1</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I:  sizeof (*info)        : 648</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I:  SYSTEM_RANDOM_FILEPATH: '/dev/urandom'</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I:  HTTP2 support         : available</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I: context created</font></div><div><font size="1">[2019/11/18 10:55:02:1782] I: Using event loop: poll</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I: Default ALPN advertisment: h2,http/1.1</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I:  default timeout (secs): 20</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I:  Threads: 1 each 1024 fds</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I:  mem: context:          5144 B (1048 ctx + (1 thr x 4096))</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I:  mem: http hdr size:   (4096 + 976), max count 1024</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I:  mem: pollfd map:       8192 B</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I:  mem: platform fd map:  8192 B</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I:  Compiled with OpenSSL support</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I:  SSL disabled: no LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT</font></div><div><font size="1">[2019/11/18 10:55:02:1783] I: Creating Vhost 'default' port 9000, 1 protocols, IPv6 off</font></div><div><font size="1">[2019/11/18 10:55:02:1784] I: lws_vhost_bind_wsi: vh default: count_bound_wsi 1</font></div><div><font size="1">[2019/11/18 10:55:02:1784] I:  Listening on port 9000</font></div><div><font size="1">[2019/11/18 10:55:02:1784] I:  mem: per-conn:          696 bytes + protocol rx buf</font></div><div><font size="1">[2019/11/18 10:55:02:1784] I:  canonical_hostname = Corellia</font></div><div><font size="1">[2019/11/18 10:55:02:1784] I: lws_plat_drop_app_privileges: not changing group</font></div><div><font size="1">[2019/11/18 10:55:02:1784] I: lws_plat_drop_app_privileges: not changing user</font></div><div><font size="1">[2019/11/18 10:55:02:1784] I: lws_cancel_service</font></div><div><font size="1">[2019/11/18 10:55:02:1785] I: lws_context_destroy: ctx 0xefa150</font></div><div><font size="1">[2019/11/18 10:55:02:1785] I: lws_destroy_event_pipe</font></div><div><font size="1">[2019/11/18 10:55:02:1786] I: __lws_close_free_wsi: 0xefabc0: caller: ctx destroy</font></div><div><font size="1">[2019/11/18 10:55:02:1786] I: lws_vhost_unbind_wsi: vh default: count_bound_wsi 0</font></div><div><font size="1">[2019/11/18 10:55:02:1787] I: lws_context_destroy2: ctx 0xefa150</font></div><div><font size="1">[2019/11/18 10:55:02:1787] I: __lws_vhost_destroy2: 0xefa830</font></div><div><font size="1">[2019/11/18 10:55:02:1787] I:   __lws_vhost_destroy2: Freeing vhost 0xefa830</font></div><div><font size="1">[2019/11/18 10:55:02:1788] I: lws_context_destroy3: ctx 0xefa150 freed</font></div></div><div><br></div><div>Is there a way to get more details on the ghost creation?</div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 18, 2019 at 12:03 PM Andy Green <<a href="mailto:andy@warmcat.com">andy@warmcat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
<br>
On 11/18/19 10:55 AM, Gilles Printemps wrote:<br>
> Hi,<br>
> When I'm executing the following example (using libwebsockets 3.2.0), I <br>
> got the following output through the logs<br>
> *"Creating Vhost 'default' port 9000, 5 protocols, IPv6 off"*<br>
> Can someone explain why "5 protocols" are returned?<br>
<br>
If you're curious about what's going on in lws you can increase the log <br>
verbosity, it reports what vhosts it's creating at startup using INFO <br>
log level.<br>
<br>
Select -DCMAKE_BUILD_TYPE=DEBUG at cmake and recook lws, then enable <br>
LLL_INFO logging.<br>
<br>
-Andy<br>
<br>
> BR<br>
> <br>
> <br>
> #include <vector><br>
> #include <libwebsockets.h><br>
> <br>
> static int WSCallback(struct lws *wsi,enum lws_callback_reasons <br>
> reason,void *session,void *data,size_t len) {}<br>
> <br>
> int main(int argc, char* argv[]) {<br>
>    lws_set_log_level(12,NULL);<br>
>    std::vector<lws_protocols> _protocols;<br>
>    _protocols.push_back({"ZWave",WSCallback,128,128,0,nullptr});<br>
> <br>
>    struct lws_context *context=NULL;<br>
>    struct lws_context_creation_info info;<br>
>    memset(&info, 0, sizeof info);<br>
>    info.port = 9000;<br>
>    info.protocols = _protocols.data();<br>
>    info.gid = -1;<br>
>    info.uid = -1;<br>
>    info.options = 0;<br>
>    context=lws_create_context(&info);<br>
> <br>
>    if (context==NULL) {<br>
>      printf("libwebsocket init failed\n");<br>
>      return -1;<br>
>    }<br>
> <br>
>    lws_context_destroy(context);<br>
> }<br>
> <br>
> _______________________________________________<br>
> Libwebsockets mailing list<br>
> <a href="mailto:Libwebsockets@ml.libwebsockets.org" target="_blank">Libwebsockets@ml.libwebsockets.org</a><br>
> <a href="https://libwebsockets.org/mailman/listinfo/libwebsockets" rel="noreferrer" target="_blank">https://libwebsockets.org/mailman/listinfo/libwebsockets</a><br>
> <br>
</blockquote></div>