Webduino отправка get-запроса из цикла loop
- Войдите на сайт для отправки комментариев
Втр, 06/03/2018 - 17:36
Добрый день, уважаемое сообщество!
Несколько дней не могу найти решение проблемы.
Нужно из цикла loop отправить get-запрос вида: hostname.ru/send/scan?1234567890123
Проблема в том, что если запущен слушатель webserver->processConnection(buff, &len);
то подключение к серверу hostname.ru происходит, но стоит закомментировать слушателя webduino и все работает как нужно.
...
webserver->processConnection(buff, &len);
EthernetClient client;
IPAddress server(192,168,1,1);
if (client.connect(server, 80)) { // Вот в этом месте крашится
client.println("GET /send/scan?1234567890123 HTTP/1.1");
client.println("HOST: hostname.ru");
client.println();
}
...
Подскажите, пожлуйста, куда копать.
Не получается редактировать свое первое сообщение.
"..то подключение к серверу hostname.ru происходит"
следует читать:
"..то подключение к серверу hostname.ru не происходит"
Крашится - это у ардуины светодиод выпадает что ли?
connect() возвращает 1 или 0. 0 - если все сокеты заняты. Например - кто-то их перевёл в состояние LISTEN.
Спасибо, sadman41, завтра посмотрю.
p.s. крашится - совсем работать EthrnetClient перестает :)
Это вполне вероятно. Библиотека Ethernet.h написана вроде как профессионалами, но внутреннее устройство уже неделю поражает мое воображение. Поэтому я не удивлюсь, если в ней где-нибудь происходит конфликт при перемене режима работы сокетов.
Действительно, не освобождались сокеты, хотя в либе flush и stop присутствовали.
Сделал костыль, под Webduino выделил 3 сокета, под get-запрос 1 сокет.
Пока работает.
Еще раз огромное спасибо, sadman41, за помошь!