@@ -501,7 +501,7 @@ void WebSockets::handleWebsocketPayloadCb(WSclient_t * client, bool ok, uint8_t
501501 reasonCode = payload[0 ] << 8 | payload[1 ];
502502 }
503503#endif
504- DEBUG_WEBSOCKETS (" [WS][%d][handleWebsocket] get ask for close. Code: %d" , client->num , reasonCode);
504+ DEBUG_WEBSOCKETS (" [WS][%d][handleWebsocket] get ask for close. Code: %d\n " , client->num , reasonCode);
505505 if (header->payloadLen > 2 ) {
506506 DEBUG_WEBSOCKETS (" (%s)\n " , (payload + 2 ));
507507 } else {
@@ -510,6 +510,7 @@ void WebSockets::handleWebsocketPayloadCb(WSclient_t * client, bool ok, uint8_t
510510 clientDisconnect (client, 1000 );
511511 } break ;
512512 default :
513+ DEBUG_WEBSOCKETS (" [WS][%d][handleWebsocket] got unknown opcode: %d\n " , client->num , header->opCode );
513514 clientDisconnect (client, 1002 );
514515 break ;
515516 }
@@ -630,7 +631,7 @@ bool WebSockets::readCb(WSclient_t * client, uint8_t * out, size_t n, WSreadWait
630631 }
631632
632633 if (!client->tcp ->available ()) {
633- WEBSOCKETS_YIELD ();
634+ WEBSOCKETS_YIELD_MORE ();
634635 continue ;
635636 }
636637
@@ -643,7 +644,9 @@ bool WebSockets::readCb(WSclient_t * client, uint8_t * out, size_t n, WSreadWait
643644 } else {
644645 // DEBUG_WEBSOCKETS("Receive %d left %d!\n", len, n);
645646 }
646- WEBSOCKETS_YIELD ();
647+ if (n > 0 ) {
648+ WEBSOCKETS_YIELD ();
649+ }
647650 }
648651 if (cb) {
649652 cb (client, true );
@@ -693,9 +696,11 @@ size_t WebSockets::write(WSclient_t * client, uint8_t * out, size_t n) {
693696 total += len;
694697 // DEBUG_WEBSOCKETS("write %d left %d!\n", len, n);
695698 } else {
696- // DEBUG_WEBSOCKETS("write %d failed left %d!\n", len, n);
699+ DEBUG_WEBSOCKETS (" WS write %d failed left %d!\n " , len, n);
700+ }
701+ if (n > 0 ) {
702+ WEBSOCKETS_YIELD ();
697703 }
698- WEBSOCKETS_YIELD ();
699704 }
700705 WEBSOCKETS_YIELD ();
701706 return total;
0 commit comments