Problem with a UDP server implements

jiangtao.jit jiangtao.jit at gmail.com
Fri Oct 14 13:51:43 EDT 2011


Hi:

I'm writing a UDP server and meet a problem
the UDP server program is run on a box with single card but has multi ip:
like    eth0        10.0.0.1
        eth0:1     10.0.0.2
		eth0:2		11.0.0.1

I bind the server socket with INADDR_ANY

when a client send a packet to 10.0.0.2(the eth0:1 's ip)
the server can recieve the packet and reply, but the client can't recieve the server's response
I use wireshark to capture the response packet
and found that the server use 10.0.0.1(the eth0 's ip) as saddr in the response packet
I expected it to be 10.0.0.2 but it's not
my question : is there any way to let the UDP server relpy just use the ip it receieved the request ?
It's :
when a client send a request to 10.0.0.1(eth0); the server use 10.0.0.1 to response
and another client send a request to 10.0.0.2(eth0:1); the server use 10.0.0.2 to response

Thanks.

2011-10-15 
jiangtao.jit 




More information about the Kernelnewbies mailing list