Jump to content

Recommended Posts

  • Replies 115
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

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

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

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

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

 

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

 

 

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

 

 

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

 

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

 

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

  • 4 months later...
Posted

Народ я покапался в исходниках на 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;

Posted

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

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

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

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

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

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

 

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

 

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

 

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

Posted

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

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

post-11968-1218536647_thumb.jpg

post-11968-1218536656_thumb.jpg

Posted
...

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

...

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

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

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

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

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

Posted

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

 

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

 

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

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

 

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

 

 

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

Posted

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

 

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

 

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

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

 

 

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

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

 

 

 

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

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

  • 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...