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

 
 
 
Reply to this topicStart new topic
> recvfrom() в visualDSP++ 5 не ловит пакеты
sse
сообщение Feb 19 2008, 11:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 8-03-05
Из: Россия, Суздаль
Пользователь №: 3 159



Железо: BF537 EZ-KIT LITE
проект в visualDSP++ 5

открыл два (передача и прием) RAW ICMP сокета
заполнил 2 sockaddr_in
создал ICMP ping пакет, посчитал CS и по кнопке отсылаю на комп по sendto(). Комп шлет ответ.
В while() до нажатия кнопки крутится recvfrom(), но на ответ на свой ping и на ping с компа возвращ 0.

В чем проблема может быть?
вот краткий исходник:

int socket_fd, socket_fd_tx;
struct sockaddr_in sa,ra;

#define SENDER_PORT_NUM 0
#define SENDER_IP_ADDR "192.168.10.70"
#define RECEIVER_PORT_NUM 0
#define RECEIVER_IP_ADDR "192.168.10.32"

memset(&sa, 0, sizeof(struct sockaddr_in));
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr(SENDER_IP_ADDR);
sa.sin_port = htons(SENDER_PORT_NUM);

memset(&ra, 0, sizeof(struct sockaddr_in));
ra.sin_family = AF_INET;
ra.sin_addr.s_addr = inet_addr(RECEIVER_IP_ADDR);
ra.sin_port = htons(RECEIVER_PORT_NUM);

socket_fd = socket(AF_INET, SOCK_RAW, 1);
socket_fd_tx = socket(AF_INET, SOCK_RAW, 1);

while(1)
{
while( ) //ждем кнопку
rec_data = recvfrom(socket_fd,(void*)&data_rec_buffer,100,0,(struct sockaddr*)&sa, &len);

send_data = sendto(socket_fd_tx, data_buffer,sizeof(icmp_pack),0,(struct sockaddr*)&ra,sizeof(ra));
}


--------------------
Serj
Go to the top of the page
 
+Quote Post
aL135
сообщение Feb 23 2008, 20:25
Сообщение #2





Группа: Новичок
Сообщений: 1
Регистрация: 8-07-05
Пользователь №: 6 652



вопросы:
1. приемный сокет находится в блокирующем режиме? Если нет, то на момент вызова recvfrom данные могут быть еще не доставлены.
2. не стоит ли на компе firewall, который блокирует icmp трафик?
Go to the top of the page
 
+Quote Post

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

 


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


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