На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > кто работал с wattcp для dos
      кто работал с wattcp для dos отзовитесь! проблема с библиотекой, периодически программа подвисает, а через какое то время, 5-10 мин, работа возобновляется, проблема именно в библиотеке, может кто нибудь сталкивался с подобной проблемой?
        Alienka
        wattcp - некрофилия!
        Не факт что проблема именно в программе, может быть все включая паранормальные явления, в том числе и полтергейст.
        Подетальней пожалуйста о самой проблеме )) перевелись телепаты
        зы Трафик небось пакетным драйвером хватается?
          трафик просматриваю wireshark, во время выполнения программы периодически сервер, написанный с помощью библиотеки wattcp перестает принимать сообщения, реагировать на отключение клиента, а через какое то время опять возобновляет нормальную работу. может кто то сталкивался с подобной проблемой, дело именно в версии библиотеки, нет ли у кого нибудь версии без глюков
          Сообщение отредактировано: Alienka -
            Alienka
            ваттцп - она сама по себе штука отпиленная
            смотрите ошибку в коллбэках, где идет взаимодействие с пакетным драйвером (packet driver), который передает сетевой трафик wattcp c сетевой платы под дос
            во время загрузки дос вызывается пакетный драйвер (когда выполняются автоекзек.бат и конфиг.сис) и уже с этим драйвером работает ваша программа. Она и передает трафик в ваттцп.
            Смотреть ошибку нужно именно на этом участке! Ваш программный код, получающий пакеты и передающий их в библиотеку!
              а как мне коллбэк посмотреть
                Аленка
                такая вот ерунда произошла, что при ограблении моей квартиры на днях изъяты все средства вычислительной техники, поэтому прошу прощения, пример кода не приведу, а буду просто доставать нефрагментированные ошметки мыслей из памяти. Былой код безвозвратно утерян, к сожалению.

                У вас программа построена таким образом, что есть дос, и под этот дос или мсдос 6.22 или как его там, дос под 98-й виндой, взаимодействие с сетевой платой осуществляется при помощи так называемого пакетного драйвера
                http://web51.hw-server.com/srcpkt52.html
                он загружается при загрузке вашей операционной системы
                Программировать этот хлам - еще тот мозгоклюйный процесс
                пример с кусками ассемблера вот:
                http://book.itep.ru/7/prog_72.htm
                У вашей программы есть точка входа - таковой является функция получения пакета от сетевого драйвера.
                Для этого непосредственно самому пакетному драйверу передается указатель на процедуру - обработчик события входящего пакета. Ее миссия - выдрать пакет из адресного пространства сетевого драйвера, скопировать куда нада, из уровня ядра на уровень пользователя, и передать управление программе для его обработки. Так называемый, обратный вызов, или коллбэк.
                Как это сделать, расписано в примере выше.. Не буду на этом останавливаться, скажу только, что вспоминаю это как кошмарный сон
                После этого пакет передается на обработку в библиотеку wattcp
                Как мы видим, это и есть самый больной на голову участок, неиссякаемый кладезь проблем

                Это я вам рассказываю архитектуру вашей программы. Оно там все строилось исключительно таким образом. Вариантов особых нету.

                з.ы. Давным давно, еще до нападения половцев на совеццкий союз, от нефиг делать делали на этом барахле прототип устройства - главное дело было показать заказчику, что наша затея заработает. И она заработала, но пришлось изрядно потибидохаться с x86 ассемблером на участке сопряжения между wattcp и драйвером. Ситуация была подобно вашей

                Да, помню одно - пришлось увеличить стэк, как сейчас помню. какой-то директивой препроцессора под древний компилятор языка С третьей версии в номинации Борланда.
                Проблему определили отладчиком IDA. Wattcp прожорливая на стэк. А компилятор жадный. _stklen кажись где-то указывать пришлось, с какой-то прагмой, просто вылетело из головы
                Сама по себе wattcp штука достаточно вылизанная, не думаю. что в ней могут быть проблемы. А вот в куске системного программирования под дос - там да!

                Где имеено искать - нужно глядеть код. Читать коментарии, что там где и как, и понимая архитектуру, думаю, понять будет не сложно
                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0442 ]   [ 15 queries used ]   [ Generated: 6.04.26, 09:04 GMT ]