Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка Proxy 
:(
    Опции темы
iPro
  Дата 20.8.2010, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.8.2010

Репутация: нет
Всего: нет



Имеем WebClient, нужно загрузить данные используя прокси сервер, как указать его я знаю, но вот проблема! Если прокси неживой то выходит ошибка, что невозможно загрузить, как можно перед загрузкой данных проверить жив ли прокси или нет, и сообщить юзеру если он не жив?

Если говорить коротко, то нужно:
Проверить валидность прокси, если он валидный - продолжаем работу, не валидный - останавливемся и сообщаем ошибку

Поиск по форуму ничего не дал(( Гугл тоже молчит или нехочет отдавать)

 smile 
PM MAIL   Вверх
diadiavova
Дата 20.8.2010, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



А что мешает отловить исключение? smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
iPro
Дата 20.8.2010, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.8.2010

Репутация: нет
Всего: нет



В общем вот, прямая вырезка из кода:

Код

Dim Socket As New Net.Sockets.Socket(Net.Sockets.AddressFamily.InterNetwork, Net.Sockets.SocketType.Stream, Net.Sockets.ProtocolType.Tcp) 

Dim All As Integer = RichTextBox1.Lines.Length
Dim i As Integer = 0

Dim sText As String
Dim Spliter As String = ":"
Dim Options() As String
Dim Proxy As String
Dim Port As String

        Do Until i = All

            SelectLineByNumer(RichTextBox1, i)
            sText = Clipboard.GetText()
            Options = Split(sText, Spliter)
            Proxy = Options(0)
            Port = Options(1)


            Socket.Connect(Proxy, Port)

            If Socket.Connected Then
                RichTextBox2.Text = RichTextBox2.Text + Proxy + ":" + Port
            End If

            Socket.Close()
            i = i + 1
        Loop


Начал решать свою проблему через сокеты, первый прокси проверяет нормально, но если попробывать проверить второй, начинает орать что не удается получить доступ, и вся прога летит

Вот скрин ошибки:
user posted image

Это сообщение отредактировал(а) iPro - 23.2.2011, 18:08
PM MAIL   Вверх
diadiavova
Дата 21.8.2010, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Судя по исключению ты пытаешься обратиться к объекту после того как удалил его. Просто не закрывай сокет внутри цикла, потому что в следующей итерации ты обращаешься к нему же.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Pilger
Дата 22.8.2010, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Цитата(iPro @ 20.8.2010,  16:13)
Если говорить коротко, то нужно:
Проверить валидность прокси, если он валидный - продолжаем работу, не валидный - останавливемся и сообщаем ошибку

Try Catch


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.