реклама на сайте
подробности

 
 
> LwIP TCP-сервер и UDP-клиент на одном MCU+LAN8720A?
Pridnya
сообщение Oct 21 2016, 06:10
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 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, но микроконтроллер пока не важен, меня интересует сама возможность совмещения серера и клиента.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Oct 24 2016, 07:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Lwip - это такая штука, про которую нужно знать, как она работает. Видимо, говнокодеры из STM сами не очень-то хорошо разбираются в ней, судя по регулярным жалобам горе-юзверей на поведение их кода.
Кстати, вот вам родной клиент SNTP. Читайте, вникайте.
Go to the top of the page
 
+Quote Post
Pridnya
сообщение Oct 24 2016, 07:46
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 24 2016, 10:00
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 22:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016