foopydog wrote: > ... > The Squeezelite client has a socket open, and suddenly, there is no > socket. Consider: SqueezeLite on RaspberryPi with TinyLinux has no > issues, but only Windows machines have the issue. While the source code > for SqueezeLite is (almost) identical between these two OS, they have > very different TCP/IP transport implementations. It is therefore > plausible that the root cause is in the way SqueezeLite manages its > socket connections on Windows -- or the Winsock itself. (utils.c, > stream.c, slimproto.c) > For example: > > Code: -------------------- > > #if WIN > u_long iMode = 1; > ioctlsocket(s, FIONBIO, &iMode); > #else > int flags = fcntl(s, F_GETFL,0); > fcntl(s, F_SETFL, flags | O_NONBLOCK); > #endif -------------------- > > > Here we can see the difference between Windows and Linux > implementations. > ...
I have looked at a capture taken with Network Monitor. LMS (host) sends a "TCP Keep Alive" packet and Squeezelite (client) seems not to acknowledge that. Squeezelite issues "TCP Dup Ack"s and "TCP Retransmit request"s although it seems no packages where lost or out of order. According to https://docs.microsoft.com/en-us/windows/win32/winsock/so-keepalive: The getsockopt function called with the SO_KEEPALIVE socket option allows an application to retrieve the current state of the keepalive option, although this is feature not normally used. If an application needs to enable keepalive packets on a socket, it justs calls the setsockopt function to enable the option. SO_KEEPALIVE is optional under Windows. I can't see that squeezelite has SO_KEEPALIVE enabled on the socket. It seems LMS will just reset the socket after some default timespan, at least I see a "TCP Reset" frame from the host. In addition to that, it seems, just when the socket ist reset from the host side, squeezelite enters into the 100% cpu time mode. ------------------------------------------------------------------------ fpo's Profile: http://forums.slimdevices.com/member.php?userid=71212 View this thread: http://forums.slimdevices.com/showthread.php?t=113554 _______________________________________________ plugins mailing list plugins@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/plugins