如何在C#控制台应用程序中设置出站/发送IP地址?

时间:2013-01-23 23:35:15

标签: c# sockets networking

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

实际上,我希望看到分割多个源IP地址之间连接的结果。

到目前为止,我的研究让我得到this one之类的问题和答案,建议使用ServicePoint.BindIPEndPointDelegate

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

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

1 个答案:

答案 0 :(得分:1)

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