Hello.
I have met a problem with sockets interface. Application works fine and
periodically sends UDP packets. But after 3-4 days it accidentally stops. I use
BSD sockets interface. Function lwip_write() returns -1. I tried to emulate
this problem manually. I managed something. This problem could appear after 1
or 100 Ethernet cable reconnections. Once lwip_write() returned -1, socket
would never became working.
During my tries to fix I think I found the solution: reconnect sock. This
solution-workaround is not well-tested yet.
ret = write(sock, qe.pdata, send_len );
if( ret != send_len ){
// Wait for netif up if problem is with it.
while( !netif_is_up(netif_default) ||
!netif_is_link_up(netif_default) ){
vTaskDelay( ms2ticks(1000) );
}
// reassociate udp socket with destination
address and port
ret = connect(sock, (struct sockaddr*)&addr,
sizeof(addr));
}
I have never met such troubles with netconn or raw interface.
LwIP version 1.4.1.
Does anybody met the same problem or something similar? How have you fixed it?
Any workaround?
Please help.
--
Best regards
Ivan Kuvaldin
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users