示例#1
0
        public async Task Check(ProxyDto dto)
        {
            var proxyStatus = await _socket.ConnectAsync(dto.IP, dto.Port, 5000);

            if (proxyStatus.Connected)
            {
                await IncreaseScoreAsync(dto, 1);

                await _randomPool.AddAsync(dto.IP, dto.Port);
            }
            else
            {
                if (dto.Score <= 1)
                {
                    await DeleteProxyAsync(dto);

                    await _randomPool.RemoveAsync(dto.IP, dto.Port);
                }
                else
                {
                    await IncreaseScoreAsync(dto, -1);

                    await _randomPool.AddAsync(dto.IP, dto.Port);
                }
            }
        }