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

 
 
> IP/UDP/TFTP uIP v1.0, uIP-шники отзовитесь.
Цырен
сообщение Aug 10 2007, 11:31
Сообщение #1


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

Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714



Недавно поднял uIP 1.0 для своей платы с LPC2364. Реализовал на ней web сервер, потом - telnet. Документация потрясающая, все понятно. Но это все были стеки IP/TCP/, моя же техническая задача состоит в реализации IP/UDP/TFTP(modbus). Если кто имеет исходнички на UDP и TFTP, плиз, ПОДЕЛИТЕСЬ. А если кто-то, вообще, уже делал такую связку, то я буду несказанно рад взять и воспользоваться вашими плодами работы безо всяких угрызений совести blush.gif.
Попутно спрошу.
1. Я так понимаю, что в uIP есть возможность подключения нескольких соединений равно как и несколько портов, но последнее не означает, что в uIP можно врубить два сервака сразу, например, web сервер и telnet, поскольку существует только одно определение app_call, которое вызывается обработчиком событий TCP. Правильно я понимаю?
2. Могут ли одновременно работать TCP и UDP в uIP?

Спасибо за внимание.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kramener
сообщение Sep 20 2013, 11:45
Сообщение #2





Группа: Новичок
Сообщений: 2
Регистрация: 12-09-13
Пользователь №: 78 288



Цитата(PoReX @ Feb 7 2013, 14:55) *
Наконец я победил uip:) Как и думал проблема заключалось в одном маленьком недочете:
При начальной инициализации udp вместо нулевого указателя на адрес удаленного хоста
Код
udp_conn = uip_udp_new(0, 0);
я передавал указатель на структуру
Код
uip_ipaddr_t
с забитыми нулями
Код
uip_ipaddr(ipaddr, 0,0,0,0);
udp_conn = uip_udp_new(&ipaddr, 0);


Столкнулся с такой же проблемой: адрес и порт получателя нулевые, хотя нулевой указатель передаю и адрес структуры при получении сообщения.
Вы не могли бы выложить свою программу для контроллера, отвечающую за отправку UDP?

Сообщение отредактировал kramener - Sep 20 2013, 11:48
Go to the top of the page
 
+Quote Post
kramener
сообщение Sep 20 2013, 13:46
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 12-09-13
Пользователь №: 78 288



Только что сам разобрался с uIP sm.gif) Выложу код на всякий случай. Вдруг кому пригодится.
Разрабатываю на Stellaris DK-LM3S9D96. uIP 1.0

Инициализация:
Код
void udp_init()
{
  struct uip_udp_conn *udp_conn;
  udp_conn = uip_udp_new(0, 0);
  
  if (udp_conn == 0)
    return;

  udp_conn->appstate = 0;
  uip_udp_bind(udp_conn, HTONS(DEFAULT_UDP_PORT));
}


Callback. process_msg записывает в структуру outputMsg содержимое и выходной размер outputLen
Код
void udp_appcall(void)
{
  if (uip_newdata())
  {
    if (uip_udp_conn->lport == HTONS(DEFAULT_UDP_PORT))
    {
        static struct uip_udpip_hdr *hdr;
        hdr = (struct uip_udpip_hdr *)&uip_buf[UIP_LLH_LEN];
        uip_ipaddr_copy(&uip_udp_conn->ripaddr, hdr->srcipaddr);
        uip_udp_conn->rport = hdr->srcport;
  
        inputLen = bMIN(uip_datalen(), sizeof(tRawUdpMessage));
        memcpy((char *)&inMsg, (char *)uip_appdata, inputLen);
        
        process_msg(&inMsg, &inputLen, &outMsg, &outputLen);
        
        memcpy((char *)uip_appdata(), (char *)&outMsg, outputLen);
        uip_slen = outputLen;
  
        uip_process(UIP_UDP_SEND_CONN);
    }
  }
}


P.S: Просьба модераторам объединить 2 сообщения.

Цитата(ElectronicsLab @ Aug 20 2013, 14:31) *
А как сделать так, чтобы независимо слать данные с МК на комп? Чтобы через WireShark видеть что что-то шлется..?

Юзайте uip_poll(). Вот что по этому поводу говорит мануал: http://www.gaisler.com/doc/net/uip-0.9/doc/html/main.html
Цитата
The polling event has two purposes. The first is to let the application periodically know that a connection is idle, which allows the application to close connections that have been idle for too long. The other purpose is to let the application send new data that has been produced. The application can only send data when invoked by uIP, and therefore the poll event is the only way to send data on an otherwise idle connection.


Сообщение отредактировал kramener - Sep 20 2013, 13:49
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Цырен   IP/UDP/TFTP uIP v1.0   Aug 10 2007, 11:31
- - e-yes   1. Не правильно понимаешь. Есть еще uip_app_regist...   Aug 12 2007, 11:09
- - etoja   Исходники прилагаю. Каким компилятором пользовалис...   Aug 13 2007, 04:04
|- - Цырен   2 etoja Спасибо, впервые вижу этот код, хотя всю ...   Aug 13 2007, 07:53
- - ig_z   Цитата(Цырен @ Aug 10 2007, 14:31) 1. Я т...   Aug 13 2007, 08:05
|- - Цырен   Цитата(ig_z @ Aug 13 2007, 12:05) Недокур...   Aug 13 2007, 08:15
|- - ig_z   Цитата(Цырен @ Aug 13 2007, 11:15) 2 ig_z...   Aug 14 2007, 08:29
- - e-yes   >Я нашел указанные файлы на старой версии сайта...   Aug 13 2007, 15:07
|- - Цырен   Цитата(e-yes @ Aug 13 2007, 19:07) ...   Aug 14 2007, 06:38
- - Цырен   2 ig_z Спасибо. Когда встанет вопрос о мультизадач...   Aug 14 2007, 10:25
- - Цырен   Я сделал так, чтобы на uIP работали сразу два серв...   Aug 16 2007, 11:26
- - etoja   TFTP гораздо проще, чем FTP. TFPT использует для д...   Aug 16 2007, 13:18
- - Цырен   Я почти близок к своей заветной цели. Я вот думаю ...   Aug 19 2007, 21:37
|- - zltigo   Цитата(Цырен @ Aug 20 2007, 00:37) RFC135...   Aug 19 2007, 21:54
|- - Цырен   Цитата(zltigo @ Aug 20 2007, 01:54) Полно...   Aug 20 2007, 09:47
- - Цырен   Кажется я ответил себе как отследить состояние каж...   Aug 20 2007, 12:51
|- - Usatyj   уважаемый Цырен! поможите исходничком, а? не п...   May 22 2008, 07:21
|- - Aprox   Цитата(Цырен @ Aug 20 2007, 16:51) Кажетс...   May 23 2008, 19:39
- - PoReX   Подскажите с UDP на uIP v1.0. Никак не получается ...   Feb 5 2013, 12:17
|- - scifi   Цитата(PoReX @ Feb 5 2013, 16:17) Может е...   Feb 5 2013, 15:08
|- - PoReX   Цитата(scifi @ Feb 5 2013, 19:08) Есть ра...   Feb 6 2013, 19:08
- - podelkin   а lwip слишком тяжел? По мне так продвинутее на по...   Feb 5 2013, 12:17
|- - PoReX   Цитата(podelkin @ Feb 5 2013, 16:17) а lw...   Feb 5 2013, 12:18
- - PoReX   Одна проблема решилась. Оказывается uip шлет udp с...   Feb 7 2013, 09:27
- - PoReX   Наконец я победил uip:) Как и думал проблема заклю...   Feb 7 2013, 10:55
- - ElectronicsLab   Добрый день. Что-то не получается у меня отправить...   Aug 20 2013, 10:31
|- - kolobok0   Цитата(ElectronicsLab @ Aug 20 2013, 14:3...   Aug 21 2013, 09:57
- - Myrik   Мне бы вернутся к теме о двух серваках на uIP. Дел...   Apr 7 2014, 05:47


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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 12:57
Рейтинг@Mail.ru


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