1

我的专用服务器有 5 个可用的静态 IP 地址。该服务器的主要目标是创建和维护到单个目的地的数百个连接。可以理解的是,在建立了几百个连接之后,我遇到了套接字读/写异常和大量断开连接。发生这种情况的原因可能是目的地识别出单一源 IP 地址并暂时阻止它,或者因为 A 和 B 之间的单一链路变得不稳定。

实际上,我想见证在多个源 IP 地址之间划分连接的结果。

到目前为止,我的研究使我得到了类似这样的问题和答案,建议使用ServicePoint.BindIPEndPointDelegate.

但是,我想将整个控制台应用程序绑定到特定的 IP 地址。我该如何做到这一点?

注意:我目前正在使用 FluorineFX。如果存在一种解决方案来告诉 FluorineFX 从哪个 IP 地址进行连接,那也可以。

4

1 回答 1

1

在 .NET 中使用 TCP 功能时,很容易指定源 IP 地址。如果您使用TcpClient,只需使用TcpClient(IPEndPoint localEndPoint)构造函数,它将绑定到指定的本地 IP 地址。对于使用Socket该类建立的连接,您需要使用Bind(EndPoint localEP)套接字上的方法将其与本地地址相关联。

于 2013-01-23T23:43:08.277 回答