Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подключение к интернет. [D6, Win95/98]


Anar ©   (2002-02-27 14:01:00) 

Как определить, что в настоящее время PC подключен к интернет или нет?


lipskiy   (2002-03-02 18:45:00) [1]

To Reindeer Moss Eater
Кхм... Согласен, конечно.
Для этого действительно нужно подходить к проблеме с четким определением - что-же именно нужно проверять. Просто чаще всего требуется простейший вариант - доступность именно WWW.


Reindeer Moss Eater   (2002-03-02 13:47:00) [2]

> lipskiy
Это скорее ответы на вопрос "Доступны ли мне ресурсы WWW ?". Но интернет это далеко не только WWW.
А вопрос поставлен именно так "Есть интернет или нет?"

Проверку URL по какому из многочисленных возможных протоколов вы предлагаете делать?

И как объяснить Васе, имеющему интерет, почему же у него не работает ftp, или почему он не может пингвать www.delphi.mastak.ru


lipskiy   (2002-03-01 20:03:00) [3]

IMHO:
1 - да.
2 - да.
3 - всегда, когда есть потенциальная возможность (при благоприятных независящих условиях) получить любые ресурсы из интернета - надо считать, что подключение есть.
Поэтому и предлагается делать проверку URLа.


Reindeer Moss Eater   (2002-03-01 09:07:00) [4]

Чтобы ответить на поставленный вопрос с помощью кода на Delphi, для начала неплохо бы ответить на простые вопросы без использования компьютера:
1. Сидит Вася в компьютерном классе и читает эту конференцию через "чистый" HTTP прокси. Подключен он к интернету?
2. Петя позвонил модемом к своему провайдеру и деньги за диалап уже капают, но ближайший маршрутизатор в дауне и Петя может ходить только по "домашней" сети провайдера. Есть у Пети интернет?
3. И так далее ...


lipskiy   (2002-02-28 20:52:00) [5]


> ближайший сервер провайдера

А если это прога не для себя, а для вообще, то как узнать сервер провайдера?


panov   (2002-02-28 06:36:00) [6]

делать проверку на доступность какого-либо URL

Не какого-нибудь, а конкретно - ближайший сервер провайдера.


lipskiy   (2002-02-27 20:57:00) [7]

Между прочим очень многие предлагаемые варианты работают криво или не на всех ОСах. Поэтому и вопросы часто эти возникают. IMHO самое надежное - делать проверку на доступность какого-либо URL, того же www.microsoft.com :)


Reindeer Moss Eater   (2002-02-27 19:07:00) [8]

> Olivka
Вопрос, в том виде в каком он задан, не имеет правильного ответа.


Olivka   (2002-02-27 18:34:00) [9]

Никогда делать это не приходилось, но по-моему, в каждом ФАКе это есть.


Ghost.   (2002-02-27 17:40:00) [10]

Это уже не смешно...


KvORubin   (2002-02-27 17:14:00) [11]

Воткни Button1 и

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

const IC_Modem=1;
IC_LAN= 2;
IC_PROXY=3;
IC_MODEM_BUSY=4;
winetdll="wininet.dll";

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
function InternetGetConnectedState(lpdwFlags:LPDWORD; dwReserved: DWORD): BOOLEAN; stdcall; external winetdll name"InternetGetConnectedState";

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var dwConnectionTypes: DWORD;
begin
dwConnectionTypes:=IC_MODEM+IC_LAN+IC_PROXY;
if InternetGetConnectedState(@dwConnectionTypes,0) then ShowMessage("Youa connected")
else ShowMessage("No Connection");
end;

end.


Wonder   (2002-02-27 15:41:00) [12]

Я пошел выбрасываться из окна...


Наверх

Титульная страница Поиск, карта сайта Написать письмо