Jump to content

Inetacces на Delphi 7


Recommended Posts

  • Replies 115
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

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

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

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

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

 

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

 

 

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

 

 

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

 

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

 

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

Link to post
Share on other sites
  • 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;

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites
Вот трабла... опции один в один...

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

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

 

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

 

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

 

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

Link to post
Share on other sites

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

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

post-11968-1218536647_thumb.jpg

post-11968-1218536656_thumb.jpg

Link to post
Share on other sites
...

Компилятор Си такие "вещи" кушает очень даже легко.

...

Ошибочка. Он выдает предупреждение.

Link to post
Share on other sites
Вот скрины..... при компиляции ошибок нет и предупреждений тоже... :)

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

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

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

Link to post
Share on other sites

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

 

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

 

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

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

 

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

 

 

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

Link to post
Share on other sites

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

 

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

 

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

Link to post
Share on other sites
Вывод: необходимо найти dpk пакет этого компонента...

 

 

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

Link to post
Share on other sites
Нечего тебе искать - просто зарегистрируй компоненту, которая поставляется вместе с исходниками.

 

 

 

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

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

Link to post
Share on other sites
  • 4 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...