Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Исходники и статьи
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.05.2011, 10:03
Человек_Борща Человек_Борща вне форума
Новичок
 
Регистрация: 17.09.2010
Адрес: Беларусь, г. Минск
Сообщения: 58
Версия Delphi: 7, 2010,XE
Репутация: 10
По умолчанию

Это я уже понял.. вот же проверка:
Код:
  if not (s = '') then
  LogBox.lines.Add('Сервер работает!') else LogBox.lines.Add('Сервер не отвечает!');

но ничего не происходит. И в onStatus тоже ничего не происходит. А вот когда сервер работает, инфа приходит.. и видно сообщение "сервер работает" в случае что он отключен должно быть "сервер не работает!"
Ответить с цитированием
  #2  
Старый 16.05.2011, 10:08
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

все правильно - никакого события UPDUDPRead не будет вообще, т.к. сервер ничего не отправит - он же не работает!!! протокол UDP работает без установки соединения!!!
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 16.05.2011, 10:11
Человек_Борща Человек_Борща вне форума
Новичок
 
Регистрация: 17.09.2010
Адрес: Беларусь, г. Минск
Сообщения: 58
Версия Delphi: 7, 2010,XE
Репутация: 10
По умолчанию

хорошо. А сообщение от событие от OnStatus может быть хоть какое-нибудь?
Ответить с цитированием
  #4  
Старый 16.05.2011, 10:21
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Человек_Борща
А сообщение от событие от OnStatus может быть хоть какое-нибудь?
нет. делай так:
-отправляй запрос серверу
-жди секунд 10
-если ответа нет, считай, что он не работает
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 16.05.2011, 11:03
Человек_Борща Человек_Борща вне форума
Новичок
 
Регистрация: 17.09.2010
Адрес: Беларусь, г. Минск
Сообщения: 58
Версия Delphi: 7, 2010,XE
Репутация: 10
По умолчанию

я пытаюсь написать функцию проверки...
Код:
function CheckServer(aHost, aPort: string): Boolean;
var
  UPD: TidUDPServer;
  SendData: array of Char;
  s: string;
begin
  Result := False;
  if (aPort = '') or (aHost = '') or (StrToInt(aPort) > 35555) or (StrToInt(aPort) <= 0) then
    Exit;
  UPD := TIdUDPServer.Create(nil);
  try
    UPD.DefaultPort := StrToInt(aPort);
    s := #255#255#255#255'TSource Engine Query'#0;
    SetLength(SendData, Length(s));
    StrPCopy(@sendData[0], s);
    UPD.SendBuffer(aHost, StrToInt(aPort), SendData[0], Length(SendData));
  finally
    FreeAndNil(UPD);
  end;
end;

как привельно её дать процедуру OnRead?
Ответить с цитированием
  #6  
Старый 16.05.2011, 11:46
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
uses UnitCheckServer;

procedure TForm1.Button100500Click(Sender: TObject);
begin
  if CheckServer('10.4.84.102', 27015) then
    ShowMessage('ok')
  else
    ShowMessage('err');
end;
Вложения
Тип файла: rar UnitCheckServer.rar (1.8 Кбайт, 35 просмотров)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 16.05.2011, 13:23
Человек_Борща Человек_Борща вне форума
Новичок
 
Регистрация: 17.09.2010
Адрес: Беларусь, г. Минск
Сообщения: 58
Версия Delphi: 7, 2010,XE
Репутация: 10
По умолчанию

можно глянуть исходник?

Интересна реализация..
При помощи события и waitForSingleObject ...

Но не понимаю как понимает hEvent, что ему надо вернуть в UDPRead чтобы кусок с waitForSingleObject попал нужный результат..
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter