RobFPGA 34 2 октября, 2007 Опубликовано 2 октября, 2007 · Жалоба Приветствую! Что нужно сделать чтоб в NDK для 6416 было возможно отсылать UDP пакеты больше чем 1472 байта? Вроде сделал все очем пишут в доке : В pbm.c - увеличил размер MMALLOC_MAXSIZE 16384 В os.c - увеличил размер RAW_PAGE_SIZE 16384 Увеличил размер буфера для сокета - rc=setsockopt(dat_socket, SOL_SOCKET, SO_SNDBUF, &sndlen, sizeof(int)); Но попытке отправить блок данных больше чем 1472 байта получаю ошибку сокета Что делать? (by Достоевский ;)) Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 2 октября, 2007 Опубликовано 2 октября, 2007 · Жалоба 1472 - слишком специфичное число, чтобы быть ограничением буфера. Может быть, не поддерживается или запрещена IP фрагментация? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 3 октября, 2007 Опубликовано 3 октября, 2007 · Жалоба Приветствую! 1472 это как раз MTU (1500) - размер IP и UDP заголовков. В доке я вроде ни где не видел что на отправку UDP запрещена IP фрагментация. Хотя и явного указания что она разрешена тоже вроде не встречал. Я протрасировал выполнение до момента проверки отправляемого буфера на размер. Величина для сравнения (1500) берется откуда-то из конфигурации (не константа). Это происходить перед вызовом SockCreatePacket тоесть еще до уровня IP что странно. Вобщем что дальше делать пока не знаю. У же начинаю подумывать на предмет LwIp. Надо почитать как там с размером UDP пакетов. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться