Метценгерштейн 0 26 августа, 2014 Опубликовано 26 августа, 2014 · Жалоба в даташите такая картинка http://c2n.me/iNFnYP т.е. принял модуль данные по UDP, выдал мне их как на картинке. А на самом деле есть еще и src IP, а он только dst показывает. Wireshark показывает целиком пакет, а W5100 выхватывает из него части и показывает их мне. Нельзя ли как-то в W5100 получить в том числе и src IP при приеме пакета? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 26 августа, 2014 Опубликовано 26 августа, 2014 · Жалоба Здесь они что-то попутали. В этом заголовке указаны Src IP и номер порта отправителя. Dst IP и порт вытягивать ниоткуда не нужно - это тот IP, который вы прописали в W5100 и номер порта, который прописали в socket перед открытием. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 26 августа, 2014 Опубликовано 26 августа, 2014 · Жалоба да, точно. Главное, смотрел отправку терминалкой и просмотрел- там действительно IP компа, от куда отправляю Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 26 августа, 2014 Опубликовано 26 августа, 2014 · Жалоба номер порта, который прописали в socket перед открытием. а как прописать так, чтобы все порты слушал? А не только тот, что в сокете перед открытием указан? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 27 августа, 2014 Опубликовано 27 августа, 2014 · Жалоба а как прописать так, чтобы все порты слушал?Никак. Во всяком случае если socket настраивается как UDP. Может быть как-то через MAC Raw mode можно, не изучал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Метценгерштейн 0 31 августа, 2014 Опубликовано 31 августа, 2014 · Жалоба столкнулся с такой проблемой- если записать так: socket(0,Sn_MR_UDP,3000,0); socket(0,Sn_MR_UDP,3001,0); то есть, я сначала один порт src указал, а потом его поменял, то программа не работает. wireshark пишет, что адрес dst не корректен. Т.е. визнет не хочет при двойном открытии сокета записывать src port. Даже, если принудительно вписать туда номер порта temp = (IINCHIP_READ16 (Sn_PORT0(0))); IINCHIP_WRITE16 (Sn_PORT0(0), 3001); temp = (IINCHIP_READ16 (Sn_PORT0(0))); и считать его в переменную, то один хрен прога не работает. в даташите на визнет написано, что запись порта д.б. до включения сокета. Это и сделано, если вызвать ф-ю socket(0,Sn_MR_UDP,3001,0); она сначала закрывает сокет, меняет все, открывает заново. но и так не работает. из-за чего это может быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться