Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Вопрос по SMTP в Delphy...

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Вопрос по SMTP в Delphy...
Имя
Сообщение << Старые топики   Новые топики >>
Вопрос по SMTP в Delphy... - 2005-12-22 13:40:51   
De}{is

Сообщений: 137
Оценки: 0
Присоединился: 2005-11-22 11:21:42
Я пишу почтовый клиент и в связи с этим у меня возникло два вопроса:
1. когда программа пытается законнектиться на сервак, то, если комп не подключен к сети, то сначала вылазит противное окно подключения удаленного доступа, а в случае отказа, программа с матами вылетает. Как от этого избавиться, как перезватить эту и другие подобные ошибки.
2. Есть ли какие-либо функции, с помощю которых можно определить, подключен ли комп в даннй момент к сети.

Сорри за детские вопросы, но помогите, если можете…
Post #: 1
Вопрос по SMTP в Delphy... - 2005-12-28 15:43:45   
A_Tolstoy

Сообщений: 71
Оценки: 0
Присоединился: 2005-11-29 19:22:37
Вот тебе Дельфинская функция для пинга (нужно использовать TIdIcmpClient со страницы IndyClients)

function TConnectionToGlobal.TestNetConnect(const Host: String): Boolean;
begin
Result := False;
fGuardwindоw.IdIcmpClient.Host:= Host;
try
fGuardwindоw.IdIcmpClient.Ping();
//Строка ниже - для тестирования
//ShowMessageFmt('Host: %s (%s)'#10'TTL: %d'#10'TripTime: %d', [fGuardwindоw.IdIcmpClient.Host, fGuardwindоw.IdIcmpClient.ReplyStatus.FromIpAddress, fGuardwindоw.IdIcmpClient.ReplyStatus.TimeToLive, fGuardwindоw.IdIcmpClient.ReplyStatus.MsRoundTripTime]);
Result :=
(CompareStr(fGuardwindоw.IdIcmpClient.ReplyStatus.FromIpAddress, '127.0.0.1') <> 0)
and (fGuardwindоw.IdIcmpClient.ReplyStatus.TimeToLive > 0);
except
// ничего не пишем, а просто проглатываем эксепшн
fGuardwindоw.edShtrihKod.Clear;
if fGuardwindоw.edShtrihKod.CanFocus
then fGuardwindоw.edShtrihKod.SetFocus;
Exit;
end;

end;
Post #: 2
Вопрос по SMTP в Delphy... - 2005-12-29 14:49:05   
Kill_em_all

Сообщений: 395
Оценки: 0
Присоединился: 2005-03-25 22:40:01
2&gt;&gt;A_Tolstoy

А если icmp траффик запрещен?

Вот этот способ я увидел на одном форуме(правда на Си)
DWORD dwFlags = 0;<BR>BOOL bResult = IsNetworkAlive( &amp;dwFlags );<BR>if ( dwFlags == NETWORK_ALIVE_WAN )<BR>{<BR><BR> //есть подключение<BR>}else{ ExitProcess(0);}

Это WinApi функция(IsNetworkAlive), поэтому ты и Делфе ее сможешь заюзать[sm=go139.gif]
Post #: 3
Вопрос по SMTP в Delphy... - 2005-12-30 23:52:46   
mxxm

Сообщений: 253
Оценки: 0
Присоединился: 2004-03-13 08:39:42
To: A_Tolstoy:
да млин, ты не понимаешь: аффтар же сидит на мопеде.
В случае попытки PING'а, виндовс попытается дозвониться до провайдера.
Может быть айпишник поможет - если он локальный или null, значит соединения нет. Если есть адрес - значит есть соединение.

Ой, сори, ведь дан правильный ответ, как то я не поглядел…
Post #: 4
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Вопрос по SMTP в Delphy...







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.