【发布时间】:2013-03-17 11:34:35
【问题描述】:
似乎没有可移植的方法来设置源 IP 以从绑定到 INADDR_ANY 的套接字发送 UDP 数据报,但至少在 Linux 和 FreeBSD 上可以使用 sendmsg() 和 IP_PKTINFO (Linux) 或 @ 987654325@ (FreeBSD) 选项。 (见this question。)
在 Windows 上是否有设置 UDP 源 IP 的等效选项?
【问题讨论】:
-
WSASendMsg 在 Windows 上是等效的。
-
WSASendMsg 会理解相同的 IP_PKTINFO 以将源 IP 设置为 Linux 吗?
-
@dtb 你想知道如何在
C或C#中进行操作,这取决于语言。 -
@ScottChamberlain:是的,C 和 C# 的代码会有所不同。但这个问题与语言无关。它主要是关于Windows。如果你可以在 C 中完成,那么你可以在 C# 中完成。
-
我现在正在运行 WSASendMsg 函数。
WSACMSGHDR.cmsg_len的类型是SIZE_T,而不是文档中所说的UINT。现在我需要第二个 IP 地址进行测试...