Open antonmeyer opened 8 years ago
Since you are asking a wifi-related question, I am wondering what changes you did to make the Sonos Arduino api work with a wifi board?
I am trying to get this working on a LoLin NodeMcu 1 board.
I've done some changes to SonosUPnP.h
, like for instance replacing references to Ethernet with WiFi.h
, but I don't know if I am on the right path.
look at my fork should work, i was a bit lazy in the last month (busy with other projects)
Thanks. I'll check it out right away!
Yep, this seems to be working great. Thank you so much :-)
The amount of memory available is very limited. As you say buffer-size of 50 bytes is to avoid memory issues. I'm no network expert, why is the small packet size a problem, performance? I'm up for suggestions on how to improve this. I've made you a collaborator. Commit improvements or make a pull request. It's up to you :)
hi tmittet, when I think twice my request is a bit academic approach. I found it a waste of network resources to send several packets with all its overhead, which the receiver has to reassemble. Also in terms of reliability a packet loss is more likely with more packets. But finally for control traffic with very low amount of overall traffic it does not matter. Normally you have a network software stack and MTU size is the parameter. I started with a ESP8288 which does not have hardware limitations like a attiny. I guess it is not worth to change it, unless you want to include streaming to your project.
I totally support changing it if you want to do it :)
We could add a condition like:
// Current implementation
// Optimized implementation
when I look at the wireshark trace I see a lot of small packets for a single SOAP request. I guess it is from the bunch of ethClient_write_P. I also guess that the client code should care about MTU and MSS. I also assume that your buffer-size of 50 byte is a tribute to the HW-limit. With ESP8266 this looks better.