mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-08-06 15:15:15 +08:00
fix: high thoughput(payload>10KB) cause send failed
1. socket would block at send(), return -1 when set MSG_DONTWAIT 2. changed to ~MSG_DONTWAIT, send() will block until all payload send over 3. recv() should keep MSG_DONTWAIT attribute, otherwise will lead to low thoughtput
This commit is contained in:
@ -155,7 +155,7 @@ static int esp_write(Network *n, unsigned char *buffer, unsigned int len, unsign
|
|||||||
|
|
||||||
if (FD_ISSET(n->my_socket, &fdset)) {
|
if (FD_ISSET(n->my_socket, &fdset)) {
|
||||||
do {
|
do {
|
||||||
rc = send(n->my_socket, buffer + sentLen, len - sentLen, MSG_DONTWAIT);
|
rc = send(n->my_socket, buffer + sentLen, len - sentLen, 0);
|
||||||
|
|
||||||
if (rc > 0) {
|
if (rc > 0) {
|
||||||
sentLen += rc;
|
sentLen += rc;
|
||||||
|
Reference in New Issue
Block a user