-
- ДатаШит читали? The length range of RX packet is 1-1024, which
means that when the length of CH9121 UART receiving data reaches
the set length, CH9121 will immediately packet the serial data and
send it out via network. - Ralex(Вчера, 13:27)
- видать я очень невнимателен. :-((( Спасибо. И действительно увидал сейчас. - Лaгyнoв(Вчера, 14:26)
- Грок: SciFi(1 знак., Вчера, 10:43, картинка)
- Как согласуются "простота реализации" и "требуется тщательная обработка"? - Kpoк(Вчера, 12:24)
- вот с sim800 у меня как раз нет проблем. Там все отправки заточены
под кусочки по 1300 байт. Я через sim800 на ftp отправлял файлы по
600Кбайт без проблем. А с этой фигней (CH9121) не знаю что делать. - Лaгyнoв(Вчера, 11:54)
- Теоретически эта штука должна иметь способ сказать источнику данных "подожди, пока я занят". Flow Control обычно называется. - SciFi(Вчера, 12:17)
- Какая-то неведомая зверушка. - SciFi(Вчера, 12:05)
- Я купил как-то дешманскую сетевуху USB-ETH - она пакеты больше
килобайта дропала. Причем рандомно - могла иногда пропустить, но
чаще резать начинала свыше 500 байт. - POV(Вчера, 10:39)
- вот и у меня похоже - дешманская... Лaгyнoв(1 знак., Вчера, 11:49, картинка)
- Вы UDP-протокол используете что ли? - reZident(Вчера, 10:31)
- "Я знаю отличную шутку про UDP, но не факт, что до вас она дойдёт."™ SciFi(3 знак., Вчера, 11:44, +1)
- Модуль запрограммирован на соединение как TCP-клиент. С внешним
сервером. Тот вроде работает как TCP-сервер. У меня нет никаких
возможностей проверить со своей стороны. А если у меня UDP, то всё
это так и будет? - Лaгyнoв(Вчера, 10:43)
- TCP - сначала устанавливается сессия, потом шлются пакеты. Каждый
пакет подтверждается. Надёжно. Обе стороны могут видеть, какие
данные уже подтверждены корреспондентом. UDP - будто ты просто
отправляешь пакет (кадр) байт по последовательному интерфейсу.
Никакой сессии, никакого подтверждения. Просто данные ушли. А
получил ли их корреспондент - его проблемы. Nikolay_Po(621 знак., Вчера, 15:57)
- Я общаюсь с модулем только по rx/tx. Есть еще вывод где уровень
сигнализирует об установлении соединения. Его я вижу. То есть
вероятно, что у меня всё же TCP. Но вот буфер по rx меня убил. :-)
Придется как с модемом sim800 порции слать. там порции были по 1280
байт, здесь поменьше будут. На стороне сервера надо будет людям
напрягаться из кусочков по 768 байт лепить десятки килобайт. :-) - Лaгyнoв(Вчера, 16:07)
- Да, придётся. Хоть TCP, хоть UDP - железке нужен буфер. И если он 1кБ на TCP, вряд ли он будет иным для UDP - и там, и там, буферизация требуется одинаково. Ну, может, байт на 8 будет больше запас. - Nikolay_Po(Вчера, 16:11)
- А как без буфера-то? Если TCP на линии с потерями или просто с
малой скоростью, как быть? Просто выкидывать данные, полученные по
UART? Конечно, должен быть буфер. 1 КБ - вполне вменяемый размер
для таких зверушек. - SciFi(Вчера, 16:10)
- и опять же. Как славно было с модемом sim800. Когда он мои 1280
байт отправит, то предлагает мне слать следующую порцию. А здесь
кто предложит? Получается, что погромист на сервере должен мне этот
диалог обеспечить. Я ему порцию - он мне в ответ подтверждение и
предложение слать дальше. Правильно я понимаю? - Лaгyнoв(Вчера, 16:31)
- CH9121 непонятная штука. Не видно способа узнать, когда давать ему следующий килобайт, чтобы он не споткнулся. - SciFi(Вчера, 17:09)
- ESP8266 лишь <2кбайта пл TCP отправлял через AT-команды. Думаю
и прозрачный канал там тоже был лимитирован... видимо, к такому
надо быть готовым в отношении всех слабых букашек. - POV(Вчера, 16:33)
- Потенциально одно TCP соединение может требовать до 64К ОЗУ чисто под буфер передаваемых данных. У букашек такой роскоши нет, так что хочешь-нехочешь, а где-то как-то оно будет урезано. - LightElf(Вчера, 18:56)
- У меня мега328 и ENC28 - ограничил аппаратно размер ethernet пакетов ~300 байт. Так оно лучше дышит - много лишнего отфильтровывается ;) - Гyдвин(Вчера, 17:04)
- и опять же. Как славно было с модемом sim800. Когда он мои 1280
байт отправит, то предлагает мне слать следующую порцию. А здесь
кто предложит? Получается, что погромист на сервере должен мне этот
диалог обеспечить. Я ему порцию - он мне в ответ подтверждение и
предложение слать дальше. Правильно я понимаю? - Лaгyнoв(Вчера, 16:31)
- Я общаюсь с модулем только по rx/tx. Есть еще вывод где уровень
сигнализирует об установлении соединения. Его я вижу. То есть
вероятно, что у меня всё же TCP. Но вот буфер по rx меня убил. :-)
Придется как с модемом sim800 порции слать. там порции были по 1280
байт, здесь поменьше будут. На стороне сервера надо будет людям
напрягаться из кусочков по 768 байт лепить десятки килобайт. :-) - Лaгyнoв(Вчера, 16:07)
- TCP - сначала устанавливается сессия, потом шлются пакеты. Каждый
пакет подтверждается. Надёжно. Обе стороны могут видеть, какие
данные уже подтверждены корреспондентом. UDP - будто ты просто
отправляешь пакет (кадр) байт по последовательному интерфейсу.
Никакой сессии, никакого подтверждения. Просто данные ушли. А
получил ли их корреспондент - его проблемы. Nikolay_Po(621 знак., Вчера, 15:57)
- ДатаШит читали? The length range of RX packet is 1-1024, which
means that when the length of CH9121 UART receiving data reaches
the set length, CH9121 will immediately packet the serial data and
send it out via network. - Ralex(Вчера, 13:27)