From ba5a4cba71691cd6c1bc553405f7a4263e2c0a8a Mon Sep 17 00:00:00 2001 From: maxtox Date: Thu, 5 May 2016 09:27:47 +0200 Subject: [PATCH] Do not close TCP connection after each send. Fixing https://github.com/mysensors/Arduino/issues/405 --- .../core/MyGatewayTransportEthernet.cpp | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/libraries/MySensors/core/MyGatewayTransportEthernet.cpp b/libraries/MySensors/core/MyGatewayTransportEthernet.cpp index 84923da..08c9f40 100644 --- a/libraries/MySensors/core/MyGatewayTransportEthernet.cpp +++ b/libraries/MySensors/core/MyGatewayTransportEthernet.cpp @@ -156,17 +156,16 @@ bool gatewayTransportSend(MyMessage &message) #else EthernetClient client; #if defined(MY_CONTROLLER_URL_ADDRESS) - if (client.connect(MY_CONTROLLER_URL_ADDRESS, MY_PORT)) { - #else - if (client.connect(_ethernetControllerIP, MY_PORT)) { - #endif - client.write(_ethernetMsg, strlen(_ethernetMsg)); - client.stop(); - } - else { - // connecting to the server failed! - ret = false; - } + if (client.connected() || client.connect(MY_CONTROLLER_URL_ADDRESS, MY_PORT)) { + #else + if (client.connected() || client.connect(_ethernetControllerIP, MY_PORT)) { + #endif + client.write(_ethernetMsg, strlen(_ethernetMsg)); + } + else { + // connecting to the server failed! + ret = false; + } #endif #else // Send message to connected clients