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

Вниз

Написание   Найти похожие ветки 

 
Igo   (2002-08-20 09:46) [0]

Есть такая функция NetSessionEnum, есть заголовочный файл, есть пример... вот только выдает она всегда не то!
Кто-нибудь использовал ее именно в делфи???
На си все работает прекрастно, а вот в делфе полный беспредел...


 
star   (2002-08-20 23:34) [1]

Ну ничего подобного! Все нормально работает и на дельфах! Сам лично ковырялся, делал прогу - все работало. Ты код кинь, посмотрим, понюхаем ...


 
Igo   (2002-08-21 07:50) [2]

Кода у меня уже нет:) все снеслось недавно, надо начинать заново, но ты так ответь, эта же функция в win9х сбрасывает данные в структуру типа session_info_50, так вот, если делать указатель на эту структуру, то последнее подключение определяется, но если 2 машины то глухо....


 
B-Ars   (2002-08-21 12:37) [3]

Попробуй объявить вот так - у меня работает:
function NetSessionEnum (SrverName:PChar;sLevel:dword; pbBuffer:pointer;
cbBuffer:dword;EntriesRead,TotalAvial:pointer):integer; stdcall;
external "svrapi.dll";


 
Star   (2002-08-21 14:18) [4]

Эта функция сбрасывает данные не в структуру типа session_info_50, а В МАССИВ ЭТИХ СТРУКТУР. Тогда каждый элемент массива - отдельная сетевая сессия. У меня где-то на работе валяются мои разработки, пошарю, если найду - выкину сюда.


 
star   (2002-08-21 18:05) [5]

Во, нашел!

var
SessionInfo: array [0..512] of TSessionInfo50;
EntriesRead,TotalAvial: Word;
i,index:integer;
Warning:TWarning;
ToolTip:string;
begin
Timer1.Enabled:=False;
NetSessionEnum (nil,50,@SessionInfo,SizeOf(SessionInfo),@EntriesRead,@TotalAvial);
for i:=0 to EntriesRead-1 do
with SessionInfo[i] do
begin
{здесь можешь узнать о каждом подключении...}
end;
end;


 
star   (2002-08-21 18:07) [6]

Timer1.Enabled:=False; - выкинуть (это просто кусок из одной процедуры.)

Это пример для win98. Для NT - немного по другому.


 
Igo   (2002-08-22 06:51) [7]

B-Ars спасибо, функция у меня так же обявлена, видно дело не в том....(хотя как только я ее не объявлял:-))

star © спасибо, но не работает, до смешного уже дошло:-)
сбрасываю код (он в принципе твой) я тоже раньше так делал, но неполучилось:

function NetSessionEnum (SrverName:PChar;sLevel:dword;
pbBuffer:pointer;cbBuffer:dword;Read,
TotalAvial:pointer):integer; stdcall;
external "svrapi.dll";

type
session_info_50 = record
ses50_cname : PChar;
ses50_username : PChar;
ses50_key : LongInt;
ses50_num_conns : short;
ses50_num_opens : short;
ses50_time : LongInt;
ses50_idle_time : LongInt;
ses50_protocol : char;
pad1 : char;
end;
........
var
SessionInfo: array [0..512] of session_info_50;
read,TotalAvial: Word;
i:integer;
begin
NetSessionEnum (nil,50,@SessionInfo,SizeOf(SessionInfo),@Read,@TotalAvial);
for i:=0 to Read-1 do
with SessionInfo[i] do
begin
ListBox.Items.Add(ses50_username);
{здесь можешь узнать о каждом подключении...}
end;
end;

так вот, при подключении 2-ух компов read = 2, но в SessionInfo лежит информация только об одном подключении и на втором проходе цикла ListBox.Items.Add(ses50_username) ест-но грязно ругается...


 
star   (2002-08-22 20:30) [8]

Не знаю, дома проверить не могу, посмотрю завтра, на работе ...


 
Star   (2002-08-23 16:38) [9]

Кинул по почте рабочий пример с твоим кодом, лови!


 
Igo   (2002-08-26 05:26) [10]

Спасибо, поймал:-)), вопрос закрыт,
надо
type
session_info_50 = packed record
если кому интересно:)


 
Nuhim   (2002-08-26 09:14) [11]

Я тоже пишу аналогичную прогу и заметил следующее:
если файл на моей машине открыт с удаленного компа на чтение, то
ses50_num_opens=1, а если на редактирование, то 0.
Хотелось бы еще знать - какой ресурс открыт, но не знаю как. Может кто подскажет?


 
Star   (2002-08-26 09:41) [12]

NetFileEnum


 
Nuhim   (2002-08-26 12:40) [13]

To Star:
А примером поделиться не жалко?


 
Aladin   (2002-08-26 12:46) [14]

Да! И мне интересно, как узнать какой ресурс открыт. Шарил по сайту, че-то нашел. Но там поверхностно. Хотелось бы поподробнее.


 
Diablo_al   (2002-08-26 16:21) [15]

To_STAR Если не трудно и мне скинь исходничек
Еще вопросик как это заставить работать на Windows 2000


 
Neyrospace   (2002-08-27 10:12) [16]

Для всех интересующихся:
на delphi-jedi.org есть хедеры по svrapi + полный пример инспектора сети (на делфях ес-но)


 
Diablo_al   (2002-08-29 20:23) [17]

Neyrospace БОЛЛЬШОЕ СПАСИБО ЗА УРЛ.


 
cypher   (2002-09-18 10:19) [18]

По поводу jedi и srvapi. ОНА МЕГА КРИВАЯ! и там очень-очень много-много ошибок (в отношении 9х не знаю, но под НТ пришлось основательно покопататься в коде)


 
s002156Shurik   (2002-09-18 11:27) [19]

А можноли какнибудь разорвать соединение другого компьютера с моим ресурсом. Когда напимер с меня качают файл и мне надо это запретить во время скачки. Мжно это сделать?


 
skuns   (2002-09-18 14:13) [20]

Для особо одаренных, дайте полный URL к хедерам и примерам. Я там нифига не нашел. :(


 
cypher   (2002-09-18 19:09) [21]

skunk - плохо искал.
s002156Shurik - можно, NetFileClose, NetSessionDel и так далее.
вообще, смотри МСДН (www.msdn.microsoft.com) там все с примерами и под НТ и 9x



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

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

Наверх





Память: 0.49 MB
Время: 0.008 c
3-45741
VIB
2002-10-24 17:53
2002.11.14
Paradox Base


1-45988
@andrew
2002-11-04 13:43
2002.11.14
!!!Drag&Drop!!!! Есть приложение с MDIFrom, есть DLL с MDIChild


1-45837
Галич
2002-11-05 13:00
2002.11.14
Запуск процедуры из другого Юнита


1-45852
BALU1111
2002-11-05 12:23
2002.11.14
Работа с файлами


14-46116
Yakudza
2002-10-27 18:06
2002.11.14
Расширения стран.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский