vovksextra Posted March 19, 2008 Author Posted March 19, 2008 На счет сокетов и компонента - я не так выразился, извините. Я понимаю что все основано на сокетах. Просто в том исходнике что на С, все создается вручную, а тут все как-то просто.Я не хочу трудностей, просто хочется понять какие пакеты шлет клиент, какими пакетам ему отвечает сервер, как устанавливается соединение. Это мне надо. В чем отличие протоколов? Может есть RFC старгазеровский )? Исходники представляют точную копию авторизатора С++ - шного Для "общения" с сервером используются методы работы с сокетами на чистом WIN API. Компонент TUDP - используется только для связи с InetAdmin-ом (лень было писать на чиcтом API) Так что проще быть не может )) Это точная копия+добавлены "фишки" разные, в т.ч. автообновления авторизатора и т.д. Здесь ты найдешь исходники того, что было взято за основу http://www.stg.dp.ua/server_dl.php?show=2.404.9.7
AXXX Posted August 11, 2008 Posted August 11, 2008 Народ я покапался в исходниках на 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;
vovksextra Posted August 11, 2008 Author Posted August 11, 2008 Ошибок в коде нет - проверь опции компилятора. Наличие галок увидишь на картинке.
AXXX Posted August 12, 2008 Posted August 12, 2008 Вот трабла... опции один в один... Касяк не при компиляции, а при событии на подключение, там у двух переменных (sockr, phase) пишит неправилиное значение. P.S. Если интересно могу выслать, то что у меня получилось.
vovksextra Posted August 12, 2008 Author Posted August 12, 2008 Вот трабла... опции один в один...Касяк не при компиляции, а при событии на подключение, там у двух переменных (sockr, phase) пишит неправилиное значение. P.S. Если интересно могу выслать, то что у меня получилось. Что значит не правильные значения? И о какой ошибке идет речь? Телепатов нет у нас )) Возможно компилятор тебе выдавал при компиляции warning - но это значит что там ошибка, а значит то, что-бы разработчик обратил внимание на строку кода. Судя по коду, там там местами действительно идет сравнение разных типов данных - целочисленного с вещественным. Компилятор Си такие "вещи" кушает очень даже легко. Компилятор PASCAL - тебе дает предупреждение. Но это не значит что так быть не может.
AXXX Posted August 12, 2008 Posted August 12, 2008 Вот скрины..... при компиляции ошибок нет и предупреждений тоже... (если говорить по конкретнее про траблу на втором рисунке, то при наведении курсора на sockr - вылетает помойму Inaccessable value, короче говоря по русскинправильное значение переменной..)
madf Posted August 12, 2008 Posted August 12, 2008 ...Компилятор Си такие "вещи" кушает очень даже легко. ... Ошибочка. Он выдает предупреждение.
madf Posted August 12, 2008 Posted August 12, 2008 Вот скрины..... при компиляции ошибок нет и предупреждений тоже... (если говорить по конкретнее про траблу на втором рисунке, то при наведении курсора на sockr - вылетает помойму Inaccessable value, короче говоря по русскинправильное значение переменной..) По скрину не видно что предупреждений компилятора нет. Кроме того, Access violation при recvfrom обычно говорит о недостаточно размере приемного буфера.
vovksextra Posted August 13, 2008 Author Posted August 13, 2008 Во первых, судя по скрину в исходники уже были внесены изменения. )) Во вторых, я хотел-бы увидеть, где автор еще внес свои коррективы в код. Боюсь что автор сего кода "поигрался" с типами данных переменных, используемых при вызове recvfrom., или же были внесены изменения в стандартные библиотеки для работы с сокетами. другого варианта, при котором выскакивает AccessViolation я просто не вижу. PS. В трее я не вижу некую иконку, которая бы хоть как-то защищала твою систему. Еще как вариант - запусти AVZ....
AXXX Posted August 13, 2008 Posted August 13, 2008 Вах!!!! Я нашёл касяк!!! Дело в компоненте TUDP, он напрочь отказывается залазить в делфу... При первом запуске спрашивает об игнорировании и удалять ли его упаминание из тела кода... Если компилить сразу то всё кул, но приповторном запуске делфы - каюк... . Вывод: необходимо найти dpk пакет этого компонента... P.S: Кстати про защиту, в винде я пользуюсь только делфой - защита мне там нафик не нужна и защищяться неоткого)))) .... Slackware + Alt linux RULL!!!!!)))))))))
vovksextra Posted August 13, 2008 Author Posted August 13, 2008 Вывод: необходимо найти dpk пакет этого компонента... Нечего тебе искать - просто зарегистрируй компоненту, которая поставляется вместе с исходниками.
AXXX Posted August 14, 2008 Posted August 14, 2008 Нечего тебе искать - просто зарегистрируй компоненту, которая поставляется вместе с исходниками. НЕхотит не в какую регистрироваться... . P.S. исходники просто офигенные, респект их автору.
vovksextra Posted December 14, 2008 Author Posted December 14, 2008 У кого есть сырцы к сабжу? просьба выложить смотри первый пост
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now