Skip to content

Commit e761242

Browse files
committed
同步验证的超时时间参数
1 parent 6651936 commit e761242

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

WebApiClient/Internal/SocketExtend.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ static class SocketExtend
1616
/// </summary>
1717
/// <param name="socket">socket</param>
1818
/// <param name="remoteEndPoint">远程终结点</param>
19-
/// <param name="timeout">超时时间</param>
19+
/// <param name="timeout">连接的超时时间</param>
2020
/// <exception cref="SocketException"></exception>
2121
/// <exception cref="ArgumentNullException"></exception>
2222
/// <exception cref="TimeoutException"></exception>
@@ -68,7 +68,7 @@ private static void ConnectCompleted(object sender, SocketAsyncEventArgs e)
6868
/// </summary>
6969
/// <param name="socket"></param>
7070
/// <param name="arraySegment">缓冲区</param>
71-
/// <param name="timeout">超时时间</param>
71+
/// <param name="timeout">等待数据的超时时间</param>
7272
/// <exception cref="SocketException"></exception>
7373
/// <exception cref="TimeoutException"></exception>
7474
/// <returns></returns>

WebApiClient/ProxyValidator.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,24 +33,25 @@ public ProxyValidator(IWebProxy proxy)
3333
/// 使用http tunnel检测代理状态
3434
/// </summary>
3535
/// <param name="targetAddress">目标地址</param>
36+
/// <param name="timeout">发送或等待数据的超时时间</param>
3637
/// <exception cref="ArgumentNullException"></exception>
3738
/// <returns></returns>
38-
public HttpStatusCode Validate(Uri targetAddress)
39+
public HttpStatusCode Validate(Uri targetAddress, TimeSpan timeout)
3940
{
4041
if (targetAddress == null)
4142
{
4243
throw new ArgumentNullException(nameof(targetAddress));
4344
}
4445

4546
var proxyInfo = ProxyInfo.FromWebProxy(this.proxy, targetAddress);
46-
return ProxyValidator.Validate(proxyInfo, targetAddress);
47+
return ProxyValidator.Validate(proxyInfo, targetAddress, timeout);
4748
}
4849

4950
/// <summary>
5051
/// 使用http tunnel检测代理状态
5152
/// </summary>
5253
/// <param name="targetAddress">目标地址</param>
53-
/// <param name="timeout">超时时间</param>
54+
/// <param name="timeout">连接或等待数据的超时时间</param>
5455
/// <exception cref="ArgumentNullException"></exception>
5556
/// <returns></returns>
5657
public Task<HttpStatusCode> ValidateAsync(Uri targetAddress, TimeSpan timeout)
@@ -69,9 +70,10 @@ public Task<HttpStatusCode> ValidateAsync(Uri targetAddress, TimeSpan timeout)
6970
/// </summary>
7071
/// <param name="proxyInfo">代理服务器信息</param>
7172
/// <param name="targetAddress">目标url地址</param>
73+
/// <param name="timeout">发送或等待数据的超时时间</param>
7274
/// <exception cref="ArgumentNullException"></exception>
7375
/// <returns></returns>
74-
public static HttpStatusCode Validate(ProxyInfo proxyInfo, Uri targetAddress)
76+
public static HttpStatusCode Validate(ProxyInfo proxyInfo, Uri targetAddress, TimeSpan timeout)
7577
{
7678
if (proxyInfo == null)
7779
{
@@ -83,8 +85,8 @@ public static HttpStatusCode Validate(ProxyInfo proxyInfo, Uri targetAddress)
8385

8486
try
8587
{
86-
socket.SendTimeout = 3 * 1000;
87-
socket.ReceiveTimeout = 5 * 1000;
88+
socket.SendTimeout = (int)timeout.TotalMilliseconds;
89+
socket.ReceiveTimeout = (int)timeout.TotalMilliseconds;
8890
socket.Connect(remoteEndPoint);
8991

9092
var request = proxyInfo.ToHttpTunnelRequestString(targetAddress);
@@ -114,7 +116,7 @@ public static HttpStatusCode Validate(ProxyInfo proxyInfo, Uri targetAddress)
114116
/// </summary>
115117
/// <param name="proxyInfo">代理服务器信息</param>
116118
/// <param name="targetAddress">目标url地址</param>
117-
/// <param name="timeout">超时时间</param>
119+
/// <param name="timeout">连接或等待数据的超时时间</param>
118120
/// <exception cref="ArgumentNullException"></exception>
119121
/// <returns></returns>
120122
public static async Task<HttpStatusCode> ValidateAsync(ProxyInfo proxyInfo, Uri targetAddress, TimeSpan timeout)

0 commit comments

Comments
 (0)