I experience the same behaviour with an ESP8266 wifi gateway. In the MySensors sources I found the reason why this doesn't work:
In the file core\MyGatewayTransportEthernet.cpp in lines 98 to 106 the ethernet server is initialized:
#if defined(MY_GATEWAY_CLIENT_MODE) #if defined(MY_USE_UDP) EthernetUDP _ethernetServer; #endif /* End of MY_USE_UDP */ #elif defined(MY_GATEWAY_LINUX) /* Elif part of MY_GATEWAY_CLIENT_MODE */ EthernetServer _ethernetServer(_ethernetGatewayPort, MY_GATEWAY_MAX_CLIENTS); #else /* Else part of MY_GATEWAY_CLIENT_MODE */ EthernetServer _ethernetServer(_ethernetGatewayPort); #endif /* End of MY_GATEWAY_CLIENT_MODE */
For my gateway the last statement without the constant MY_GATEWAY_MAX_CLIENTS is used to define the server. Thus it is clear why only one connection is kept.
Maybe the ESP8266 examples should be updated. Or the ethernet server code should be reworked.