I have server.c compiled and running on remote machine using port 51004. And I have client.c running on local machine that uses UDP connectionless socket to send data to server.c, ie, using
socket(AF_INET,SOCK_DGRAM,0);

I'm able to send data from client to server using port 51004. I can verify using tcpdump and I also can actually see the message I sent.

If I recompile server.c and client.c to use port 50004 instead, I can not send the message to server even though tcpdump shows message came through port 50004. The server simply is unresponsive.

How do I check what's happening with port 50004? I tried netstat, nmap and still can't find out why.
I also checked the port range in /proc/sys/net/ipv4/ip_local_port_range and its ok.

I'm using OS versions FC3 for client and RH9 for server.
I'm not very familiar with nmap or netstat.
Anyone have any idea of what I can check?

Thanks for help.