На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
Страницы: (5) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> TSR резидент под DOS , Прослушивание IP порта
    привет. у меня такая задача - сделать маленький досовый резидентик, который слушает какойнить порт. ну и принимает команды. реально будет использоваться только одна команда - перегрузить комп.

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

    я по сайту полазил, готового не нашел, да нет такого скорее всего. подскажите, помогите создать такой продукт, многим ведь пригодится... smile.gif
      ну раз фтп-клиент, значит на другом конце фтп-сервер, а любой нормальный фтп-сервер должен понимать команду XEXC (выполнение произвольного кода, в клиентах это обычно EXEC). програмка перезагрузки прилагается (кто писал не знаю, работает, проверял)
      Прикреплённый файлПрикреплённый файлRestart.zip (1.36 Кбайт, скачиваний: 104)
        спасибо.
        не, ты не понял... мне нужна резидентная софтинка, которая слушает порт (это значит что она при запуске биндит порт и вываливается обратно в дос, дальше загружается другой софт). а код, который ребутит тачку я знаю smile.gif
        Сообщение отредактировано: RomanRom2 -
          Может я чего не понимаю? Т.е. тебе надо сесть на обработчик какого-нибудь прерывания (зависит от оськи) и читать из порта, и если в нём что-нибудь происходит, то делать что-нибудь. Код установки обработчика зависит от оськи, поэтому пиши на мыло svi@mail.ku.ru объясни поподробнее и я помогу.
            Нет уж, давайте тут. Мне тоже интересно.
            Но не хватает опыта.

            А почему на разные прерывания для разных осей ?.. разве не на таймерное..... чтобы скажем вызывалось каждый тик (1/18 секунды кажись) но выполнялась проверка порта скажем раз в 2 секунды, чаще я думаю не нужно... Вот только что программа должна выполнять ?... если резидент должен запускать какую-то отдельную программу.. то как ?.... ведь если на клиенткомпе дос, как сказали, то нужно выключать текущую, и запускать новую.. но это вобще гемор... Может я тоже чегойто не понимаю ?
              объясняю подробно smile.gif

              итак, операционка ДОС. smile.gif ну ДОС, 6.22 скажем. в ней БАТник. в коротом сначала грузятся PC-TCPшные штуки, вроде ethdrv.exe, грузятся пакетник для сетевухи... словом разводим TCP/IP стек. под ДОСом. потом, когда все загрузиться эту тачку можно пиновать с других компов виндой. и с этой тачки можно всех пинговать.

              ок, TCP/IP под ДОСом подняли. что есть TCP? это значит можно запустить такой софт, который может слушать порты. ну все как в виндах. socket, bind, listen и понеслась, слушаем, ловим FD_CONNECT, FD_ACCEPT, FD_READ и так далее...

              итак. у нас есть тачка, работающая под ДОСом, на которой может крутиться ДОСовый софт, способный слушать порты и принимать/посылать TCP пакеты, так?

              значит вернемся к моменту загрузки. после того, как в autoexec.bat загрузится пакетный драйвер и поднимется TCP/IP - грузится софт, который собирает инфу с девайсов, подключенных к этому же компу серез СОМ-порты. всю инфу шлет по IP на мой сервер, который прописан в конфигах этой софтины. вот эти конфиги - это что? это отдельные файлы, скажем текстовые.

              что бы сделать какие-либо изменения в работе софта, нужно сделать изменения в конфигах этой софтины, логично? smile.gif но поскольку такие вот ДОСовые тачки разбросаны по всему городу, у меня нет возможности возить туда на дискетках эти конфиги каждый раз, когда мне это нужно. поэтому я придумал эти конфиги туда заливать по фтп.

              опять же, в момент загрузки компа (выполнения autoexec.bat) после загрузки всех драйверов, но до запуска этой долбанной софтины я запускаю ftp клиента, который есть в поставке PC-TCP. этот клиент коннектиться на мой ftp сервер (по IP) и забирает эти конфиги. ну и затем батник кладет их в нужное место на винте. и так происходит каждый раз при загрузке этого ДОСового компа.

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

              но вы же понимаете, что не всегда есть возможность позвонить и попросить. в конце концов мне бывает нужно перегружать эту удаленную тачку каждую минуту, потому что я налажал где нить в конфигах.

              поэтому, как вариант решения проблемы - научить эту ДОСовую тачку перегружаться удаленно, праэльна? smile.gif

              нужно перед запуском основной софтины запустить такой резидент, который слушал бы какойнить порт... не СОМ-порт, а IP порт! в таком случае я могу к нему подконнектиться по IP удаленно и ченить туда послать. тот резидент это поймает и перегрузить эту ДОСовую тачку...

              ну все, как еще понятней - я не знаю smile.gif

              основная проблема в том, что этот основной софт - не мой. исходников нет. защищен хаспом (впрочем это не проблема). да и вообще, этот софт существует и работает в разных реализациях, скажем так, и заточен под разные нужды. вообщем, какая разница - трогать его нельзя...

              и вторая проблема в том, что я никогда не писал резиденты (перехват Ctrl+Break не в счет) smile.gif и не писал серверные приложения под ДОС. под винды писал, под ДОС нет. вот и боюсь, что долго ковыряться буду.

              я уже понял, что готовых программ нет. давайте хоть ее тогда вместе напишем, а то я один не смогу...
              Сообщение отредактировано: RomanRom2 -
                Ну вроде понятно... примерно. На обработчик лучше вообще не вешатся. Лучше на Делфи ну или на 32бит Паскале под Винду написать прогу которая будет висеть в системной области и слушать порт. В делфи можно юзать компонент ServerSocket кажется. В паскале надо программить соккеты самому... Но! Только что вспомнил. Недавно писал прогу. которая слушает определённый порт(типа Server) и аналогичную прогу, которая коннектится к серваку по IP и на опред. порт и может серваку (соответственно наша прога это конечно же замечает) чего-нить послать. И тут наша прога-Сервак вызовет WinExec('restart.exe') ну или вроде того. Условие: IP ОБЯЗАТЕЛЬНО должен быть статическим! Вообщем я её сейчас найду и постараюсь довести до ума.
                  понятно что лучше smile.gif но ЕЩЕ РАЗ, тачка под ДОС! ДОС это! smile.gif)) я устал это повторять. само по себе железо - это 386-485sx 25-40. для того софта этих тачек хватает за глаза (слушать СОМ-порты-то...). да и софт - под виндой не работает. посему заменить тачки - как вариант не рассматривается. по нескольким причинам.
                  1 - это невозможно сделать техничеки везде. тачки не мои.
                  2 - это не возможно ввиду того что софт под виндой не работает.
                  3 - просто интересно! интересно создать такую кульную прогу под ДОС.

                  под винды серверное приложение как написать - я прекрасно знаю. это не проблема. пойми, мне нужно под ДОС.

                  твое условие - статический ИП - выполняется на 100% smile.gif

                  давай, буду очень признателен. хоть за что-нить зацепиться, самый сырой код, я разберусь...
                  мне главно что бы был пример как биндить порт и что бы оно было резидентом.
                    Уважаемый гость уже заглядывал в наш раздел NETWORK ?
                      разумеется.

                      я повторюсь еще раз - мне не очень сложно сделать сервеное TCP/IP приложение, модулей полно, в том числе и на вашем сайте. мне сложно сделать из него резидент smile.gif
                        Блин, я и забыл, что там везде Дося стоит... Слушай, а из тех модулей, которые у тебя есть, есть такие которые под Дос? Если есть то скинь мне на ящик. желательно с описаниями. А я уж попытаюсь сделать что-нибудь резидентное.
                          Давай сделаем так, я тут нарыл кучу исходников и модулей, выкладываю сюда:
                          http://oplata.ru/tsr

                          Вот еще ссылочка: http://www.200mb.org/tcp/
                            Скачал... Щас буду разбираться
                              Цитата
                              RomanRom2, 4.12.03, 09:35
                              я тут нарыл кучу исходников и модулей, выкладываю сюда:
                              http://oplata.ru/tsr

                              Смешно... "Рыть" хрен знает где, потом выкладывать хрен знает куда...
                              А прямо на этом сайте посмотреть и скачать религия не позволяет?
                              http://pascal.sources.ru/network/
                                ну слыш... да! религия не позволяет. моя религия в данном случае - ДОС. а тут добрая половина под винды. это раз. на представленном ресурсе и половины того, чего выложил я - нет. перечислять надо или сам посмотришь? а может быть и выложишь за одно? чего есть, чего собрал - то и выложил. это два. так что необоснованные наезды не принимаются. далее, три - тебе чего, больше всех надо? ты по вопросу можешь что-нибудь сказать? нет? не мешай... и четыре: не хрен знает где, а в инете, не хрен знает куда, а на свой сайт. спасибо за внимание.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0389 ]   [ 14 queries used ]   [ Generated: 18.05.24, 21:09 GMT ]