File tree Expand file tree Collapse file tree 1 file changed +20
-10
lines changed Expand file tree Collapse file tree 1 file changed +20
-10
lines changed Original file line number Diff line number Diff line change @@ -207,19 +207,29 @@ size_t WiFiClient::write(const uint8_t *buf, size_t size) {
207
207
if (size==0 )
208
208
{
209
209
setWriteError ();
210
- return 0 ;
210
+ return 0 ;
211
211
}
212
212
213
- size_t written = ServerDrv::sendData (_sock, buf, size);
214
- if (!written)
215
- {
216
- setWriteError ();
217
- return 0 ;
213
+ bool success = false ;
214
+ size_t written = 0 ;
215
+ for (int i=0 ; i<5 ; i++) {
216
+ written = ServerDrv::sendData (_sock, buf, size);
217
+ if (written) {
218
+ success = true ;
219
+ break ;
220
+ }
218
221
}
219
- if (!ServerDrv::checkDataSent (_sock))
220
- {
221
- setWriteError ();
222
- return 0 ;
222
+ if (success) {
223
+ if (!ServerDrv::checkDataSent (_sock))
224
+ {
225
+ setWriteError ();
226
+ return 0 ;
227
+ }
228
+ } else {
229
+ // close socket
230
+ ServerDrv::stopClient (_sock);
231
+ setWriteError ();
232
+ return 0 ;
223
233
}
224
234
225
235
return written;
You can’t perform that action at this time.
0 commit comments