请问一个socket编程中获取本地ip的有关问题

请教一个socket编程中获取本地ip的问题
想写这样一个程序:在一个多网卡(即有多个ip地址)的pc上,基于udp创建了一个socket,只绑定port,不绑定ip。本机上各个ip接收到的信息都传给该socket。怎么知道一个信息是哪个ip接收到的呢?

请高手不吝赐教,谢谢!

------解决方案--------------------
udp包还会被进一步封装,这些外层包装中有明确的目的地信息 ...
------解决方案--------------------
你accept的时候就可以获得客户端的地址、端口等信息
------解决方案--------------------


试试

int getpeername(
SOCKET s,
struct sockaddr* name,
int* namelen
);


....

第2个参数就是你想要得到的ip
------解决方案--------------------
如何在linux挾實現就好頒多了


可以通過setsockopt梆定網卡


------解决方案--------------------
用recvmsg函数可以达到效果,其中的参数msghdr会返回本地的ip地址。