On Fri, Jan 18, 2008 at 10:00:56AM +0100, Emmanuel Coullien wrote:
> Hi,
> 
> I' am trying to get broadcast frame from Ethernet with the following code :
> 
> void Test_system_UDP2(void)
> {
>     int n_read;
>     struct timeval tv;
>     int srecept;
>     struct sockaddr_in srv_recept;
>     int FrameErrCountSocket1=0;
>     int DataErrCountSocket1=0;
>       int RecvError=0;
>     int ErrSendSocket=0;
>       int CountSocket1=0;
>     int i;
>     unsigned char j;
>     int StartCycle =1;
>     /* for select on socket */
>     int ret;
>     fd_set file_set;
> 
>       int FlgON = 1;   // Utiliser pour activer des Options dans SetSockOpt
>       
>     /*** Init de la socket de reception ***/
>     bzero(&srv_recept, sizeof(srv_recept));
>     srv_recept.sin_family = AF_INET;
>     srv_recept.sin_port = htons(PORT_TO_SEND);
> //    srv_recept.sin_addr.s_addr=INADDR_ANY;
>     srv_recept.sin_addr.s_addr=inet_addr("192.168.1.3");

Just a guess, but try binding to the broadcast address on that
interface, not the interface address itself.

> I tried on a PC and I haven't any problem with
> srv_recept.sin_addr.s_addr=inet_addr("192.168.1.3");. I received the
> broadcast frame.

A PC runing FreeBSD? 

  Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to