Перейти до

Inetacces на Delphi 7


Рекомендованные сообщения

  • Відповіді 115
  • Створено
  • Остання відповідь

Top Posters In This Topic

На счет сокетов и компонента - я не так выразился, извините. Я понимаю что все основано на  сокетах. Просто в том исходнике что на С, все создается вручную, а тут все как-то просто.

Я не хочу трудностей, просто хочется понять какие пакеты шлет клиент, какими пакетам ему отвечает сервер, как устанавливается соединение. Это мне надо.

В чем отличие протоколов? Может есть RFC старгазеровский )?

Исходники представляют точную копию авторизатора С++ - шного

 

Для "общения" с сервером используются методы работы с сокетами на чистом WIN API.

 

 

Компонент TUDP - используется только для связи с InetAdmin-ом (лень было писать на чиcтом API)

 

 

Так что проще быть не может )) Это точная копия+добавлены "фишки" разные, в т.ч. автообновления авторизатора и т.д.

 

Здесь ты найдешь исходники того, что было взято за основу

 

http://www.stg.dp.ua/server_dl.php?show=2.404.9.7

Ссылка на сообщение
Поделиться на других сайтах
  • 4 months later...

Народ я покапался в исходниках на 1стр. ....и ВАХ!!!

Застрял на месте подключения проги к серверу.

Вылетает ошибка на строке

 

res := recvfrom(sockr, buffer, 512, 0, addr, fromLen);

 

это в PROTO_UNIT, как я понял sockr имеет неправильное значение, а что сделать незнаю.

 

такая же фигня с phase в теле....

if phase=1 then

begin

if buttonAct = CCONNECT then

begin

buttonAct := 0;

NetSend(CONN_SYN_N);

phase := 2;

phaseTime := GetTickCount();

end;

end;

if phase=2 then

begin

 

{$WARNINGS OFF}

if ((GetTickCount() - phaseTime) / 1000 > aliveTimeout) then

{$WARNINGS ON}

begin

phase := 1;

phaseTime := GetTickCount();

if Assigned(pCallBackFn) then

pCallBackFn(0);

if reconnect then

begin

Sleep(20);

buttonAct := CCONNECT;

end;

end;

 

........

........

 

 

 

 

if netAct = ERROR_N then

begin

phase := 1;

phaseTime := GetTickCount();

if Assigned(pCallBackFn) then

pCallBackFn(0);

end;

 

end;

Ссылка на сообщение
Поделиться на других сайтах

Вот трабла... опции один в один...

Касяк не при компиляции, а при событии на подключение, там у двух переменных (sockr, phase) пишит неправилиное значение.

P.S. Если интересно могу выслать, то что у меня получилось.

Ссылка на сообщение
Поделиться на других сайтах
Вот трабла... опции один в один...

Касяк не при компиляции, а при событии на подключение, там у двух переменных (sockr, phase) пишит неправилиное значение.

P.S. Если интересно могу выслать, то что у меня получилось.

 

Что значит не правильные значения? И о какой ошибке идет речь? Телепатов нет у нас ))

 

Возможно компилятор тебе выдавал при компиляции warning - но это значит что там ошибка, а значит то, что-бы разработчик обратил внимание на строку кода.

 

Судя по коду, там там местами действительно идет сравнение разных типов данных - целочисленного с вещественным. Компилятор Си такие "вещи" кушает очень даже легко. Компилятор PASCAL - тебе дает предупреждение. Но это не значит что так быть не может.

Ссылка на сообщение
Поделиться на других сайтах

Вот скрины..... при компиляции ошибок нет и предупреждений тоже... :)

(если говорить по конкретнее про траблу на втором рисунке, то при наведении курсора на sockr - вылетает помойму Inaccessable value, короче говоря по русскинправильное значение переменной..)

post-11968-1218536647_thumb.jpg

post-11968-1218536656_thumb.jpg

Ссылка на сообщение
Поделиться на других сайтах
Вот скрины..... при компиляции ошибок нет и предупреждений тоже... :)

(если говорить по конкретнее про траблу на втором рисунке, то при наведении курсора на sockr - вылетает помойму Inaccessable value, короче говоря по русскинправильное значение переменной..)

По скрину не видно что предупреждений компилятора нет.

Кроме того, Access violation при recvfrom обычно говорит о недостаточно размере приемного буфера.

Ссылка на сообщение
Поделиться на других сайтах

Во первых, судя по скрину в исходники уже были внесены изменения. ))

 

Во вторых, я хотел-бы увидеть, где автор еще внес свои коррективы в код.

 

Боюсь что автор сего кода "поигрался" с типами данных переменных, используемых при вызове recvfrom.,

или же были внесены изменения в стандартные библиотеки для работы с сокетами.

 

другого варианта, при котором выскакивает AccessViolation я просто не вижу.

 

 

PS. В трее я не вижу некую иконку, которая бы хоть как-то защищала твою систему. Еще как вариант - запусти AVZ....

Ссылка на сообщение
Поделиться на других сайтах

Вах!!!! Я нашёл касяк!!! Дело в компоненте TUDP, он напрочь отказывается залазить в делфу... При первом запуске спрашивает об игнорировании и удалять ли его упаминание из тела кода... Если компилить сразу то всё кул, но приповторном запуске делфы - каюк... :) .

 

Вывод: необходимо найти dpk пакет этого компонента...

 

P.S: Кстати про защиту, в винде я пользуюсь только делфой - защита мне там нафик не нужна и защищяться неоткого)))) :) .... Slackware + Alt linux RULL!!!!!)))))))))

Ссылка на сообщение
Поделиться на других сайтах
Вывод: необходимо найти dpk пакет этого компонента...

 

 

Нечего тебе искать - просто зарегистрируй компоненту, которая поставляется вместе с исходниками.

Ссылка на сообщение
Поделиться на других сайтах
Нечего тебе искать - просто зарегистрируй компоненту, которая поставляется вместе с исходниками.

 

 

 

НЕхотит не в какую регистрироваться... :) .

P.S. исходники просто офигенные, респект :) их автору.

Ссылка на сообщение
Поделиться на других сайтах
  • 4 months later...

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.


×
×
  • Створити нове...