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

时间:2011-03-07 09:07:39

标签: linux sockets networking tcp udp

  1. 在绑定到0.0.0.0 / INADDR_ANY的未连接UDP套接字上收到数据包时,如何确定将其发送到的本地IP?
  2. 我可以确定收到的界面吗?
  3. 是否可以为面向连接的套接字(如TCP?
  4. )执行此操作

    Update0

    1. 平台是Linux,所以语言无关紧要,但C是原生的。
    2. UDP套接字绑定到INADDR_ANY主机,因此getsockname()返回0.0.0.0

2 个答案:

答案 0 :(得分:1)

嗯,看看this。所以看起来可能有一个套接字选项,至少在Linux / Unix世界中是这样。需要处理哪些操作系统?

答案 1 :(得分:1)

我不得不在Windows平台上处理同样的问题。我的解决方案是明确地监听所有可用的接口,getsockname()按预期方式工作。