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

 
 
> lwIP 1.3, Как узнать сколько сообщений пришло?
kan35
сообщение Sep 22 2011, 07:51
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Для приема сообщений использую netconn_recv . Она возвращает мне указатель на буфер с данными.

Когда сервер мне присылает вместо одного сообщения которое я ожидаю так же еще одно (или больше) какое-нибудь сообщение - я не могу определить сколько еще не прочитанных мною сообщений осталось. Не вариант же запускать netconn_recv до тех пор пока оно по таймауту не начнет выходить?
Я раньше думал, что все сообщения должны были бы слепиться в одно длинное, но это оказалось не так...

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
MALLOY2
сообщение Sep 22 2011, 08:13
Сообщение #2


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



какая у вас OC ?

В вашем connection есть указатель на очередь recvmbox если ваша ОС позволяет смотреть сколько сообщений очереди то посмотрев recvmbox вы узнаете сколько там еще сообщений.

Но зачем это нужно ??? если это вам нужно значит у вас с алгоритмом построения программы что то нето...
Go to the top of the page
 
+Quote Post
kan35
сообщение Sep 22 2011, 13:59
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Цитата(MALLOY2 @ Sep 22 2011, 12:13) *
какая у вас OC ?

В вашем connection есть указатель на очередь recvmbox если ваша ОС позволяет смотреть сколько сообщений очереди то посмотрев recvmbox вы узнаете сколько там еще сообщений.

Но зачем это нужно ??? если это вам нужно значит у вас с алгоритмом построения программы что то нето...

У меня FreeRTOS. Действительно, проверяю uxQueueMessagesWaiting - теперь вижу количество! Документированные API совсем скудные, это что надо самому догадываться где и что проверять? - может есть какая то более расширенная справка...

А что алгоритм? если сервер "сам" вздумал что то отправить? не всегда же клиент должен являться инициатором передачи.
Go to the top of the page
 
+Quote Post
MALLOY2
сообщение Sep 23 2011, 09:37
Сообщение #4


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



Цитата
У меня FreeRTOS. Действительно, проверяю uxQueueMessagesWaiting - теперь вижу количество! Документированные API совсем скудные, это что надо самому догадываться где и что проверять? - может есть какая то более расширенная справка...


А что вы хотели на шару ?


Цитата
А что алгоритм? если сервер "сам" вздумал что то отправить? не всегда же клиент должен являться инициатором передачи.


для чтения должна быть отдельная задача которая всегда ждет,выгребает, и потом обрабатывает данные данные, и ей пофиг сколько там еще пакетов, а у вас как ?
Go to the top of the page
 
+Quote Post
kan35
сообщение Sep 23 2011, 10:10
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



Я пока что осваиваю сам стек, и у меня все в одной задаче, за идею спасибо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 4th August 2025 - 06:47
Рейтинг@Mail.ru


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