|From:||Việt Nguyễn Xuân|
|Subject:||Re: [libmicrohttpd] Problem send large trunk of data over upgraded connection with epoll and https enabled|
|Date:||Mon, 24 Jun 2019 17:16:52 +0000|
Sorry, I cannot reply your email, so I reply it here.
I'm sorry, for the moment I cannot provide the code for you. But you can reproduce the issue by modify the src/microhttpd/test_upgrade.c, set the connection memory limit to a very low value, for example 512, this change should be made for HTTPS section. In the function "run_usock" and "run_usock_client", please replace the test string "Hello World" by a real larger string with length about 160 - 170 bytes. After that do a make check and you will see the test_upgrade_tls test hang forever.
From: Việt Nguyễn Xuân
Sent: Sunday, June 23, 2019 11:28 AM
Subject: [libmicrohttpd]Problem send large trunk of data over upgraded connection with epoll and https enabled
I'm using libmicrohttpd to implement a WebSocket server based on HTTP Upgrade connection.
I'm using latest git revision of this library for my work.
Everything works well for small message passes over upgraded connection, I tested with Chrome and Firefox browsers and they are all Ok.
But I have a trouble when sending large trunk of message to the server, if the size of message is larger than 1/3 connection buffer size, it's very often that this message will be queued for next send or is not sent at all. For smaller messages, they will be sent and received immediately.
This issue only happens when I enable HTTPs combine with EPOLL internal thread, for other combination it seems that this issue does not happen. For example I can send large message normally with HTTPS + POLL internal thread or with HTTP + EPOLL internal thread.
Could you please check this issue for me?
Thanks a lot.
|[Prev in Thread]||Current Thread||[Next in Thread]|