Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> необходимо опросить сеть broadckast, не могу понять где IP адреса 
:(
    Опции темы
egorowp
Дата 24.7.2010, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Необходимо опросить сеть broadckast запросом. и получить IP адреса всех работающих в сети машин. может я что то ни те дклаю но у 
IdUdpSerever. FPeerIP  всегда 0.0.0.0

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  tmp : hostPacket;
begin
  tmp.magic:= StrToInt('0XC0FE00FF');
    tmp.size := 256    ;
    tmp.reserved0 := 0;
    tmp.reserved := '0';
  SendPak(tmp)
end;

procedure SendPak(BData: hostPacket);
var
  Init: TWSAData;
  SockOpt: BOOL;
  Sock: TSocket;
  Target: TSockAddrIn;
begin
  WSAStartup($101,Init);
  Sock:=Socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
  SockOpt:=TRUE;
  SetSockOpt(Sock,SOL_SOCKET,SO_BROADCAST, PAnsiChar(@SockOpt),SizeOf(SockOpt)) ;
  Target.sin_port:=htons(5049); //номер порта
  Target.sin_addr.S_addr:=INADDR_BROADCAST;
  Target.sa_family:=AF_INET;
  SendTo(Sock,BData,SizeOf(BData),0,Target,SizeOf(Target));
  WSACleanup;
end;

procedure TForm1.IdUDPServer1UDPException(AThread: TIdUDPListenerThread;
  ABinding: TIdSocketHandle; const AMessage: string;
  const AExceptionClass: TClass);
begin
  ShowMessage(Amessage);
end;

procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  AData: TBytes; ABinding: TIdSocketHandle);
var
  strm : TStream;
  LMsg: PhostPacket;
  srtt : string;
begin
  if SizeOf(AData) = 0 then
    Exit
  else begin
    LMsg := PhostPacket(AData);
    if LMsg.magic = StrToInt('0XC0FE00FF') then begin
      Caption := AThread.Binding.PeerIP;
      srtt := Utf8ToAnsi(LMsg.name);
    end;
  end;
end;


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


Опытный
**


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

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



Цитата(egorowp @  25.7.2010,  00:19 Найти цитируемый пост)
AThread.Binding


замени на ABinding


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

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

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


 




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


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

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