Какая правильная замена для (PF_INET, SOCK_PACKET) - PullRequest
0 голосов
/ 19 мая 2011

Мне дано задание удалить предупреждение

<app> uses obsolete (PF_INET,SOCK_PACKET)

из клиентского пространства пользователя.Если этот тип использования устарел;какая правильная, аналогичная замена для этой задачи?

Редактировать: Здесь была вводящая в заблуждение информация.

Ответы [ 2 ]

2 голосов
/ 19 мая 2011

Проверьте man 7 packet и man 7 ip для получения дополнительной информации, но похоже, что вам нужно:

socket(PF_PACKET, SOCK_RAW, <protocol>)

"For compatibility with Linux 2.0, the obsolete socket(PF_INET,
SOCK_RAW, protocol) syntax is still supported to open a
packet(7) socket.  This is deprecated and should be replaced by
socket(PF_PACKET, SOCK_RAW, protocol) instead.  The main
difference is the new sockaddr_ll address structure for generic
link layer information instead of sockaddr_pkt." - ip(7)

Хотя я не знаю, какие дополнительные измененияможет потребоваться.

0 голосов
/ 19 мая 2011

Проблема в сокете вызова библиотечной функции (AF_INET, SOCK_PACKET, htons (0x0806)), а не в самом приложении.

...