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

Reply via email to