BindIPEndPointDelegate包含一个名为retryCount的参数,该参数表示此连接的trys次数。
来自MSDN:
RetryCount重
输入:System.Int32
为指定连接调用此委托的次数。
和
如果.NET Framework在Int32.MaxValue尝试后无法将返回的IPEndPoint绑定到ServicePoint,则会抛出OverflowException。
所以经典代码如:
IPEndPoint BindIPEndPointCallback(ServicePoint servicePoint, IPEndPoint remoteEndPoint, int retryCount)
{
if (retryCount > 5)
return null;
return ...
}
此设计表明可能需要更多尝试,因此开发人员需要采取措施以防止在提供的IP不正确的情况下无限循环。
是不是?也就是说,第一次绑定尝试经常出现故障,重复的trys可以帮助吗?