user37278, я запустил ту же программу на Mac OS X (Snow Leopard) и получил то же сообщение об ошибке. Я обнаружил, что проблема заключается в том, что пользовательская структура заголовка IP не соответствует формату заголовка IP. (Может быть, есть какая-то разница в машинах ... Я не уверен).
Я удалил его пользовательскую структуру заголовка IP и использовал структуру заголовка IP, включенную в Mac OS X. Информация заголовка определяется в <netinet/ip.h>
, а структура - struct ip
. Я также нашел другую структуру под названием struct iphdr
, и я не уверен, что разница.
Заголовки, которые я включил, <netinet/ip.h> <netinet/udp.h> <netinet/in.h> <arpa/inet.h>
Надеюсь, это поможет.