I compared with working ethereal traces between Firefly and iTunes. There, I indeed see that the iTunes PC initiates the “connection” by starting the MDNS name / adress negotiation. From that moment on, itunes indicates it is connected.
When one clicks on the server (to retrieve the playlist) a TCP connection is opened (just like the xbmc tries). The only difference in the SYN message is that the windows scale requested in the TCP option field is 8, whereas the xbmc doesn’t request this option. However, that should not be a problem as far as my TCP knowledge (or rather feeling 🙂 ) goes.
So, temporary conclusion for today:
The XBMC doesn’t implement the Bonjour discovery, but directly tries to retrieve the playlist using the IP+port number of Firefly. Firefly doesn’t like this and refuses the TCP connection by returning an ACK with windows size 0.
Is this new behaviour of Firefly? Should it be changed or should XBMC implement the complete Bonjour protocol ?
Just some testing from a newbie (installed XBMC last weekend…)