Форум: "Сети";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
ВнизРабота с локальной сетью. Найти похожие ветки
← →
AlexanderMS © (2007-05-29 19:57) [0]Скажите, пожалуйста, как обратиться к какому-нибудь файлу, папке, расположенной на одном из компьютеров локальной сети? Как это делается?
← →
umbra © (2007-05-29 20:17) [1]\\server\share1\myfile.txt
← →
AlexanderMS © (2007-06-02 18:29) [2]Спасибо. А как "перебрать" все компьютеры локальной сети (их число заранее неизвестно) и сделать то же самое?
← →
G_M_S © (2007-06-04 09:59) [3]Получить IP компа и маску подсети. Перебрать все IP из сети компа и проверить на "живость", например, пингом. Пинговать поможет Idny, там же есть TidNetworkCalculator, вроде как при помощи него можно получать списки IP сети на основе адреса/маски, но я его не юзал и как юзать - не знаю.
← →
clickmaker © (2007-06-04 10:21) [4]
> как "перебрать" все компьютеры локальной сети
WNetEnumResource()
← →
G_M_S © (2007-06-04 13:10) [5]
> clickmaker © (04.06.07 10:21) [4]
А она разве не виндозные ресурсы перебирает? Все компы ИМХО можно только сканом сети перебрать.
← →
Anatoly Podgoretsky © (2007-06-04 13:18) [6]> G_M_S (04.06.2007 13:10:05) [5]
> Все компы ИМХО можно только сканом сети перебрать.
Все компы ИМХО даже сканом сети не перебрать.
← →
G_M_S © (2007-06-04 15:18) [7]
> Все компы ИМХО даже сканом сети не перебрать.
Все адреса локальной сети, для буквоедов. Ессно не все из них будут присвоены компам. И WNetEnumResource тоже позволяет перебирать не все хосты в локальной сети, а только те, которые являются членами рабочей группы/домена.
← →
AlexanderMS © (2007-06-04 18:27) [8]Покажите примерчик, пожалуйста. Я совсем в этой области не разбираюсь. Вот возникла идея сетевой программы проверки знаний по тестам, и она, по идее, должна собрать результаты со всех компьютеров локальной сети в компьютерном классе на учительский :).
← →
Eraser © (2007-06-04 20:10) [9]> [8] AlexanderMS © (04.06.07 18:27)
procedure TNetScanThread.EnumResources(LpNR: PNetResource);
var
NetHandle: DWORD;
BufSize: DWORD;
Size: DWORD;
NetResources: PNetResourceArray;
Count: DWORD;
NetResult: Integer;
i: Integer;
s1: string;
begin
if WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, LpNR, NetHandle) <> NO_ERROR
then Exit;
try
BufSize := 50 * SizeOf(TNetResource);
GetMem(NetResources, BufSize);
try
while True do
begin
if FScanNetwork.FCancel then
Exit;
Count := 1;
Size := BufSize;
NetResult := WNetEnumResource(NetHandle, Count, NetResources, Size);
if NetResult = ERROR_MORE_DATA then
begin
BufSize := Size;
ReallocMem(NetResources, BufSize);
Continue;
end;
if NetResult <> NO_ERROR then Exit;
for I := 0 to Count - 1 do
begin
if FScanNetwork.FCancel then
Exit;
with NetResources^[I] do
begin
if RESOURCEUSAGE_CONTAINER = (DwUsage and RESOURCEUSAGE_CONTAINER) then
EnumResources(@NetResources^[I]);
if dwDisplayType = RESOURCEDISPLAYTYPE_SERVER then
begin
s1 := lpRemoteName;
s1 := Copy(s1, 3, length(s1));
FslHosts.Add(s1);
end;
end;
end;
end;
finally
FreeMem(NetResources, BufSize);
end;
finally
WNetCloseEnum(NetHandle);
end;
end;
только если компов много - медленно работать будет, лучше IP сканер.
← →
Alarm © (2007-06-05 14:35) [10]http://www.delphimaster.ru/articles/netmon/index.html
← →
имя (2007-06-17 21:34) [11]Удалено модератором
← →
имя (2007-08-08 21:45) [12]Удалено модератором
← →
имя (2008-05-08 14:11) [13]Удалено модератором
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2009.12.06;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.005 c