Ethernet client. Медленная скорость передачи

Wiring, Processing, библиотеки

Ethernet client. Медленная скорость передачи

Сообщение Tyiler » 17 янв 2017, 16:44

Всем привет.
имеется atmega2560 и на ней ethernet модуль w5100.

связь с сервером по изернет организовал через стандарт либу arduino Ethernet.

вот в чем проблема: данные на сервер отправляю каждую секунду, но приходят они кучей по разному (сразу неск пакетов) бывает аж раз в минуту.

понимаю, что есть буфер у клиента в который он складывает, и отправляет не сразу, а как получится (буфер уже полный или еще условия какие..).

что уже пытался сделать:
-отключал клиента после каждой передачи - потом подключение заново, долго.

-посылал ответ сервера о получении посылки, клиент ждал каждого ответа перед след отправкой. тоже долго, те много времени приходится ждать ответа.

В софте или в железе проблема?
Как правильно сделать, чтобы сразу отправлял, минуя буфер, те чтобы раз в сек стабильно пакет улетал?

вот этот код вызывается каждую сек:

Код: Выделить всё
bool client::sendData(){
 
 bool ok = true;
 
 ethClient_.flush();   
 if (ethClient_.connected()) {
 
  int sz = values_.size();
 
  if (sz == 0) return ok;
 
  ethClient_.write(module_, strlen(module_) + 1);
 
  int vlSz = sizeof(valueRec); char* name; void* data;
  for (int i = 0; i < sz; ++i){
 
    values_.get(i, &name, &data);
 
    ethClient_.write((char*)data, vlSz);
  }
 
  char* end = "=end=";
  ethClient_.write(end, strlen(end));   
}
else {
  ethClient_.stop();
 
  ok = false;
}
 
return ok;
}
Tyiler
 
Сообщения: 1
Зарегистрирован: 17 янв 2017, 16:41
programming: C++

Re: Ethernet client. Медленная скорость передачи

Сообщение admin » 18 янв 2017, 14:38

Аватара пользователя
admin
Администратор
 
Сообщения: 315
Зарегистрирован: 05 май 2011, 14:57
Откуда: Калининград


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

© 2009-2017 |  О проекте  |  Политика Конфиденциальности  |