我的专用服务器有5个可用的静态IP地址。该服务器的主要目标是创建和维护到单个目的地的数百个连接。可以理解的是,在建立了几百个连接之后,我遇到了套接字读/写异常和大量断开连接。这可能是因为目标识别单个原始IP地址并暂时阻止它,或者因为A和B之间的单个链接变得不稳定。
实际上,我希望看到分割多个源IP地址之间连接的结果。
到目前为止,我的研究让我得到this one之类的问题和答案,建议使用ServicePoint.BindIPEndPointDelegate
。
但是,我想将整个控制台应用程序绑定到特定的IP地址。我该如何做到这一点?
注意:我目前正在使用FluorineFX。如果存在一个解决方案告诉FluorineFX从哪个IP地址建立连接,那也可以。
答案 0 :(得分:1)
在.NET中使用TCP功能时,很容易指定源IP地址。如果您正在使用TcpClient
,只需使用TcpClient(IPEndPoint localEndPoint)
构造函数,它将它绑定到指定的本地IP地址。对于使用Socket
类进行的连接,您需要使用套接字上的Bind(EndPoint localEP)
方法将其与本地地址相关联。