Подключение к интернету

  • Автор темы ilyacska
  • Дата начала
I

ilyacska

Гость
#1
Пишу код
Код:
 String^ url = "http://ya.ru/";
WebClient^ myClient = gcnew WebClient;
array<Byte>^ myBuffer = myClient->DownloadData(url);
String^ get_html = Encoding::GetEncoding("windows-1251")->GetString(myBuffer);
textBox1->AppendText(get_html);
Если соединение с интернетом есть, то все нормально.
Проблема в том, что во время выполнения программы вылезает ошибка(проблема в 3 строчке), когда он скачивает HTML код. Пытался ч/з Ping но тоже, если подключения к нету нет, то не работает.
Как сдельть проверку, есть ли подключение к интернету?
 
P

Pasha

Гость
#2
ilyacska
Ты уже сделал проверку. Есть ошибка - нет подключения. Нет ошибки - есть подключение. Других методов нет.
 
I

ilyacska

Гость
#3
Проблема в том, что он не выполняет код далее строчки , т.е. если я напишу (!myBuffer){ код } то он его не выполнит
Код:
array<Byte>^ myBuffer = myClient->DownloadData(url);
 
P

Pasha

Гость
#4
Проблема в том, что в .NET функции не возвращают 0/null/false при ошибке, а бросают исключения. Тебе нужно ловить их и выводить сообщения об ошибках пользователю. Или не выводить.
Код:
	try
{
// Download the Web resource and save it into a data buffer.
array<Byte>^ myDataBuffer = myWebClient->DownloadData( remoteUri );

// Display the downloaded data.
String^ download = Encoding::ASCII->GetString( myDataBuffer );
Console::WriteLine( download );

Console::WriteLine( "Download successful." );
}
catch (WebException^ e)
{
Console::WriteLine( e->Message );
}