|
LwIP TCP-сервер и UDP-клиент на одном MCU+LAN8720A? |
|
|
|
Oct 21 2016, 06:10
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 11-01-11
Из: Орел
Пользователь №: 62 159

|
Всем привет!
Проект без операционной системы с LwIP-стеком (low-level "core" / "callback" or "raw" API) на одном микроконтроллере (основная программа + TCP-сервер (Modbus TCP)), работает.
Меня интересует, можно ли в этот проект добавить еще и UDP-клиент (SNTP-клиент) и не будет ли TCP-сервер конфликтовать с UDP-клиентом? По отдельности TCP-сервер работает, UDP-клиент работает, а как все вместе совместить (в проект c TCP-сервером добавить UDP-клиент)? Я еще с такой задачей не сталкивался, поэтому сильно не ругайте.
Если что, то в качестве PHY используется LAN8720A, разъем RJ45 один, проект на STM32, но микроконтроллер пока не важен, меня интересует сама возможность совмещения серера и клиента.
|
|
|
|
|
 |
Ответов
|
Oct 24 2016, 07:46
|
Частый гость
 
Группа: Свой
Сообщений: 142
Регистрация: 11-01-11
Из: Орел
Пользователь №: 62 159

|
Цитата(scifi @ Oct 24 2016, 10:34)  Lwip - это такая штука, про которую нужно знать, как она работает. Видимо, говнокодеры из STM сами не очень-то хорошо разбираются в ней, судя по регулярным жалобам горе-юзверей на поведение их кода. Кстати, вот вам родной клиент SNTP. Читайте, вникайте. Спасибо! У меня жалоб на LwIP-стек нет. Я перед использованием LwIP разобрал до мелочей как работает TCP-сервер, UDP-клиент, все запросы и ответы (до битов в байтах). Разобрался с протоколами ARP, ICMP, DNS, TCP, UDP, SNTP (основан на UDP). Написал свой клиент на C# для Windows, считал время с публичного NTP-сервера в Интернете (российские и европейские сервера), затем попробовал использовать в качестве NTP-сервера службу времени Windows, все работает. И захотел к своему проекту (STM32F407 плюс LwIP ModbusTCP-сервер )добавить SNTP-клиент. Код клиента, который вы предложили посмотреть я видел, он появился в LwIP v.1.4.1, а у меня LwIP v.1.3.2. Похоже, что придется версию стека менять.
Сообщение отредактировал Pridnya - Oct 24 2016, 07:47
|
|
|
|
|
Oct 24 2016, 10:00
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (Pridnya @ Oct 24 2016, 11:32)  Я запускал по отдельности UDP-клиент, UDP-сервер, TCP-клиент, TCP-сервер. Если у вас в программе была поддержка DHCP, то UDP-сервер и UDP-клиент, работающие одновременно с вашим TCP-сервером, у вас были. Странно, что вы этого не заметили. После этого слабо верится в: QUOTE (Pridnya @ Oct 24 2016, 10:46)  Я перед использованием LwIP разобрал до мелочей как работает TCP-сервер, UDP-клиент, все запросы и ответы (до битов в байтах). Разобрался с протоколами ARP, ICMP, DNS, TCP, UDP, SNTP (основан на UDP).
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
Сообщений в этой теме
Pridnya LwIP TCP-сервер и UDP-клиент на одном MCU+LAN8720A? Oct 21 2016, 06:10 scifi Цитата(Pridnya @ Oct 21 2016, 09:10) Меня... Oct 21 2016, 07:14 Pridnya Цитата(scifi @ Oct 21 2016, 10:14) Не пре... Oct 21 2016, 08:01 Pridnya Цитата(scifi @ Oct 21 2016, 10:14) Не пре... Oct 21 2016, 13:23 kolobok0 Цитата(Pridnya @ Oct 21 2016, 09:10) ...с... Oct 22 2016, 08:33 Pridnya Цитата(kolobok0 @ Oct 22 2016, 11:33) лог... Oct 24 2016, 05:25  HardEgor Цитата(Pridnya @ Oct 24 2016, 12:25) Вы п... Oct 24 2016, 06:31   Pridnya Цитата(HardEgor @ Oct 24 2016, 09:31) Да ... Oct 24 2016, 07:23    HardEgor Цитата(Pridnya @ Oct 24 2016, 14:23) Упом... Oct 24 2016, 07:56     Pridnya Цитата(HardEgor @ Oct 24 2016, 10:56) т.е... Oct 24 2016, 08:32      mantech Цитата(Pridnya @ Oct 24 2016, 11:32) Серг... Oct 25 2016, 12:16       Pridnya Цитата(mantech @ Oct 25 2016, 15:16) Сорр... Oct 31 2016, 11:01     Pridnya Цитата(HardEgor @ Oct 24 2016, 10:56) т.е... Oct 24 2016, 09:36 kolobok0 Цитата(Pridnya @ Oct 21 2016, 09:10) ...м... Oct 25 2016, 00:03 Pridnya Цитата(kolobok0 @ Oct 25 2016, 03:03) 1) ... Nov 3 2016, 07:59  Pridnya Оказалось все проще простого: достаточно добавить ... Nov 3 2016, 12:10 krounis Цитата(Pridnya @ Oct 21 2016, 13:10) Всем... Jan 25 2018, 11:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|