【发布时间】:2019-06-12 15:18:41
【问题描述】:
只是一个关于使用 C/C++ 在 Windows 应用程序中进行网络套接字编程的奇怪问题:
如何告诉connect() 函数使用特定的源 IP 和源端口值?
创建套接字后,应用程序使用
sockaddr结构调用connect()到远程IP 和端口。connect()函数在内部为连接选择源 IP 和端口。
与其让系统决定 connect() 的源 IP 和/或端口,不如让应用程序负责决定绑定到哪个源 IP 和/或端口。
【问题讨论】:
-
如果您想指定使用哪个接口/端口组合,您需要调用
bind。 -
"让应用程序负责决定要绑定的源端口或 IP" -- 请注意,尽管确实可能有理由将这种方法与您的套接字一起使用要去
connect(),他们充其量是罕见的。这种连接的源端口通常在应用程序级别并不重要,并且源 IP 很少有很多选项(除非机器正在连接到自己)。
标签: c++ c visual-c++ network-programming