LINUX.ORG.RU
ФорумAdmin

Fox приложение на Linux


0

0

Есть приложение под FoxPro 2.6 (DOS). Приложение состоит из псевдоклиентской части (т.е. собственно программы компилированной в FoxPro) и общих .dbf таблиц (псевдосерверная часть).

Вопрос стоит так - можно ли разместить и клиент и сервер на Linux-сервере и запускать на выполнение под Linux?

Больше того - можно ли запускать оного клиента зайдя на Linux-сервер при помощи telnet?

Вопрос вовсе не нелепый и не праздный. Во - первых известно, что приложения DOS эмулируются под Linux и кажется несколькими методами. Во-вторых очень желательно использовать telnet для входа на сервер ибо важен удаленный доступ.

И наконец - руководство вполне заинтересовано в переходе на Linux, но нет работающих приложений. Они будут под Oracle, но в конце следующего года. Жизненно необходимо запустить сервер сейчас, на существующих приложениях и эксплуатировать сеть до прихода нового софта.

Надеюсь на полноценное и деловое обсуждение. Всем заранее спасибо

anonymous

Полноценно не отвечу, но скажу только что ДОС эмулируется на раз (все необходимое есть в любом дистрибутиве) а если винда - посмотри WINE или VMWare...

Nefer
()

Вроде должно все работать на Clip. Есть там какая-то опция насчет эмуляции FoxPro. IMHO стоит попробовать.

kraw ★★★★
()

Привет собрату по несчастью :) У меня таже ситуация, только переход на Оракл (или куда-либо ещё) И НЕ ПЛАНИРУЕТСЯ :(

Думал/думаю в том же направлении. Что пробовал: Foxpro 2.6 под DosEmu 0.9.(что-то там:). Во-первых - запускается. Экранная часть слегка тормозит (даже не телнетом, а с консоли), зато базоданная просто летает. На моей (Celeron 667/128/ATA100) делал такие тесты - загнал в табличку (2 поля: число + текст) 100000 записей, время поиска (даже без индекса) на глаз не заметно. Загнал 1000000 - прямой поиск - "locate" чуть меньше секунды, индексный - доли секунды. В принципе объяснение этому "чуду" очень простое - кеш. В настройках досэму дал фоксу 4М верхней памяти, всё остальное осталось линуксу, причём Х не загружены - память вся под кешем. Ну а эффективность этого дела у линукса не сравнить с попытками кеширования у фокса (если, например, под досом запускать).

Пока не решил проблему русификации, хотя у народа вроде работает, надо разбираться дальше. Есть ещё одна проблема - совместный доступ. Блокировки самого фокса вроде бы работают, только надо внимательно оттестировать. Осталась проблема с моей (не моей:) прогой: для запрета запуска двух экземпляров с одной машины, ну и для монопольной блокировки базы, она в сетевой каталог пишет файл с именем, соответствующим имени рабочей станции. Вот хотелось бы узнать - можно ли досэму сказать - какое имя станции использовать.

Ещё одно - идея :). Хотелось бы, чтобы при обрыве связи телнет-сессия не прерывалась, а висела в ожидании, а при последующем подключении того же юзера - продолжалась. Как это сделать примерно знаю. Нужна прога - "П". Из inetd(xinetd) запускается не telnetd а П, спрашивает логин, пароль, (1) создаёт фифо - с именем логина, форкается, переключает stdin, stdout на фифо и exec() telnetd. Далее читает из фифо "login:" - записывает полученный логин, пароль. После этого (2)устанавливает обработчик SIGHUP, и тупо копирует ввод и вывод в/из фифо. В случае обрыва связи (SIGHUP) - завершается, telnetd спит, ожидая ввода. Да, вернёмся к метке (1), если фифо файл уже есть - открывает, и, считая что сессия уже начата ранее, просто переходит к метке (2). Это конечно эскизное описание, есть множество деталей, но в принципе сделать это не сложно. Прежде чем хвататься писать хочу выяснить - может это уже есть, чтобы не изобретать велосипед.

Предлагаю объединить усилия в "борьбе" с фоксом, можно продолжить обсуждение по емейл ignite@ukr.net

ignite
()
Ответ на: комментарий от ignite

Насчет восстановления сессии - используй screen.

Nefer
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.