Hi all,

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.

Thanks,
Best regards,
Viet

________________________________
From: Việt Nguyễn Xuân
Sent: Sunday, June 23, 2019 11:28 AM
To: libmicrohttpd@gnu.org
Subject: [libmicrohttpd]Problem send large trunk of data over upgraded 
connection with epoll and https enabled

Hi All,

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.

Viet

Reply via email to