当我调用该函数时
Socket.Connect(ip,port)
如果我有多个接口,那么选择哪个源IP?
使用Bind操作设置客户端套接字的IP是否正确?
答案 0 :(得分:0)
Socket.LocalEndPoint
属性包含根据路由表设置的本地IP地址。
如果您希望自己决定本地端点,可以使用Bind
方法。
aSocket.Bind(theLocalEndpoint);
有关绑定到自定义端点的详细信息,请参阅MSDN article here。
答案 1 :(得分:0)
Windows不保证具有Bind
的特定网络接口,它依赖路由表根据指定的本地端点选择用于套接字的接口。
有关更完整的说明,请参阅[Using a specific network interface for a socket in windows。