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

 
 
> LwIP NetConn, embedded TCP Client
Algol
сообщение Mar 6 2012, 17:35
Сообщение #1


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

Группа: Свой
Сообщений: 140
Регистрация: 7-04-05
Из: Россия, Владимир
Пользователь №: 3 941



Доброго всем времени суток!
Продолжая вникать в LwIP столкнулся с такой непоняткой для себя, как правильно организовать TCP клиента?
Посмотрел пример TCP сервера на базе STM32F217 от ST. Если правильно понял, то клиент должен отличаться лишь отсутсвием команд listen и accept.

Набросал такой алгоритм

Код
connn = netconn_new(NETCONN_TCP);
netconn_connect(connn, &addr, 5001);

// создание и заполнение буфера...
...

while(1)
    {        
        netconn_write(connn,buf1,LENGTH,NETCONN_NOCOPY);
        buf_rev = netconn_recv(connn);
        if (buf_rev != NULL) {
            // сервер отвечает
        }
    }


коннект благополучно происходит, данные отправляются..но netconn_recv(connn); бесконечно ожидает приема данных от сервера.
Хотя сниффером наблюдаю, как сервер шлет ACK пакеты, почему же их не перехватывает клиент?
Я либо не умею готовить LwIP, либо не до конца понимаю принцип реализации клиента. Пожалуйста, подскажите как проверить факт получения сервером посылки?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Algol
сообщение Mar 7 2012, 05:18
Сообщение #2


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

Группа: Свой
Сообщений: 140
Регистрация: 7-04-05
Из: Россия, Владимир
Пользователь №: 3 941



Спасибо! Пример с SSL посмотрю.
Установка таймаута не проблема в данном случае, это можно сделать с netconn_set_recvtimeout()
Проблема именно в том, что АСК не доходит до верхнего уровня...

Только что осенило...сама функция netconn_write возвращает значение типа err_t. Возможно обработка ACK спрятана уже внутри netconn_write.
Мне просто нужно понять, как клиент узнает, что потеряна связь с сервером и нужно сделать реконнект...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 10:21
Рейтинг@Mail.ru


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