什么本地接口连接或数据包接收?

  1. 当在一个绑定到0.0.0.0 / INADDR_ANY的未连接的UDP套接字上接收到数据包时,如何确定发送给本地的IP?
  2. 我可以确定接收到的接口吗?
  3. 这也可以做为面向连接的套接字,如TCP?

Update0

  1. 平台是Linux,所以语言是不相关的,但C是本地的。
  2. UDP套接字绑定到INADDR_ANY主机,所以getsockname()返回0.0.0.0

嗯,看看这个 。 所以看起来像可能是一个套接字选项,至少在Linux / Unix世界。 它需要什么操作系统?

我必须在Windows平台上处理相同的问题。 我的解决方案是以这种方式显式侦听所有可用的接口getsockname()按预期工作。