Задержка при передаче по LAN (Ethernet shield)

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

Вот код которым отправляю в сеть сообщение

 

void PostLanComp(String CompSend)
{

   if (CompSend != "")
   if (client.connect(servercomp, 12343)) {  
       client.println(CompSend);
       client.stop(); 
       Serial.println("arduino sended");
   } else Serial.println("no connect");
 
}

переменная servercomp определена как 

char servercomp[] = "192.168.0.5";

пользуюсь стандартной библиотекой Ethernet.h

Но после 2-3 отправлений у меня зависает адруинка на этом месте. Ощущение того что пытается ломится в порт, но порт толи занят, толи закрыт. На принимающей стороне я держу сервер на прослушке порта. Кто нить сталкивался с подобным? Может есть какой нить регулируемый таймаут на посыл в сеть - это бы мне тоже помогло. А то висит пару минут без возможности что либо сделать. потом работает в штатном режиме, опять же до следующего послыла в сеть. Буду благодарен любой помощи.

Fraus Kilma
Offline
Зарегистрирован: 10.04.2015

ах да, Arduino mega 2560. ehernet shield на чипе w5100. Порт проверял - не закрыт, никто его не блокирует. При сбросе ардуины, ситуация повторяется - 2-3 посыла - нормально, дальше зависает.