Very basic query regarding udp_sendto

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Very basic query regarding udp_sendto

Hemant Kapoor

I am a newbie to networking and managed to port lwip stack to LPC17xx
controller runninf freertos.
I have requirement to send UDP data to a static destination IP Address.

I have a task which tries to send a UDP Packet every one second.

When I send data via broadcast, it works.
udp_sendto(pcb, pb,IP_ADDR_BROADCAST,1235)

Also from my PC if I ping to my board it all works fine

But if I try to send data to a specific ip address (that of my PC) then it
doesn;t work
udp_sendto(pcb, pb,&destinationAddress,1235)

Also I niotice that ping stop working.

If I follow existing example of UDP Echo, i.e. connect to an IP and port for
udp_connect(pcb, &destinationAddress, pc_port);

and in callback of receive message, I send UDP packet it works.
udp_recv(pcb, udp_echo_recv, NULL);

In my call back
static void udp_echo_recv(void *arg, struct udp_pcb *pcb, struct pbuf *p,
struct ip_addr *addr, u16_t port)
    udp_send(pcb, p);

I thought UDP is connectionless and sending UDP Data to a given IP Address
and Port shuld simply work.
Can you please let me know what I am doing wrong here.

Sent from:

lwip-users mailing list
[hidden email]