Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Помогите узнать IP чужой машины   Найти похожие ветки 

 
Addon ©   (2004-02-06 22:22) [0]

Мне нужно узнать адрес компьютера, который находится в моей локальной сети. Можно ли это зделать с помощью TClientSocket и TServerSocket и как. А можно ли послать текст компьютеру с определенным именем с помощью этих компонентов. Я читал, что можно послать текст по номеру сокета, но меня это не устраивает


 
Kotka ©   (2004-02-06 23:56) [1]

>можно ли послать текст компьютеру с определенным именем
да, но не факт, что будет работать

самое лучшее решение - посылать широковещательные пакеты по сети
(недавно здесь была ветка про это)


 
denkop ©   (2004-02-21 21:50) [2]

Стори сюда:

function TForm1.FillNetLevel(xxx: PNetResource; List1,List2:TStrings): Word;
Type
   PNRArr = ^TNRArr;
   TNRArr = array[0..59] of TNetResource;
Var
  x: PNRArr;
  tnr: TNetResource;
  I : integer;
  EntrReq,
  SizeReq,
  twx: THandle;
  UserName, Ip,WSName: string;
begin
    Result :=WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY,RESOURCEUSAGE_CONTAINER, xxx, twx);
    If Result = ERROR_NO_NETWORK Then Exit;
    if Result = NO_ERROR then
    begin
           New(x);
           EntrReq := 1;
           SizeReq := SizeOf(TNetResource)*59;
           while (twx <> 0) and
                 (WNetEnumResource(twx, EntrReq, x, SizeReq) <> ERROR_NO_MORE_ITEMS) do
           begin
                 For i := 0 To EntrReq - 1 do
                 begin
                  Move(x^[i], tnr, SizeOf(tnr));
                  case tnr.dwDisplayType of
                   RESOURCEDISPLAYTYPE_SERVER:
                   begin
                      if tnr.lpRemoteName <> "" then
                          WSName:= tnr.lpRemoteName
                          else WSName:= tnr.lpComment;
                      UserName:=copy(WSName,3,length(WSName)-2);
                      HostToIp(UserName,IP);
                      list1.Add(UserName);
                      list2.Add(IP);
                   end;
                   else FillNetLevel(@tnr, list1, list2);
                  end;
                 end;
           end;
           Dispose(x);
           WNetCloseEnum(twx);
    end;
end;

function TForm1.HostToIP(Name: string; var Ip: string): Boolean;
var
wsdata : TWSAData;
hostName : array [0..255] of char;
hostEnt : PHostEnt;
addr : PChar;
begin
WSAStartup ($0101, wsdata);
try
gethostname (hostName, sizeof (hostName));
StrPCopy(hostName, Name);
hostEnt := gethostbyname (hostName);
if Assigned (hostEnt) then
  if Assigned (hostEnt^.h_addr_list) then
    begin
      addr := hostEnt^.h_addr_list^;
if Assigned (addr) then
begin
IP := Format ("%d.%d.%d.%d", [byte (addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
Result := True;
end
else
Result := False;
end
else
Result := False
else
begin
Result := False;
end;
finally
  WSACleanup;
end
end;

FillNetLevel(nil,ListBox1.Items,ListBox2.Items)
В List1 получаешь имена всех компов в сети в List2 их ip соотв-но



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.038 c
14-1080807245
PVOzerski
2004-04-01 12:14
2004.04.25
Не разбирается ли кто-нибудь в распайках USB-"выкидышей"


3-1080138461
Goida
2004-03-24 17:27
2004.04.25
Проблема открытия БД под WIN_98


1-1081151226
Ozone
2004-04-05 11:47
2004.04.25
Handle - > bmp


14-1080555947
Ega23
2004-03-29 14:25
2004.04.25
У кого опыт driver development есть, помогите!


3-1080567190
venus
2004-03-29 17:33
2004.04.25
Чтение данных из файла в IB-базу :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский