Разработать программу на язуке Ассемблер (masm) которая вычисляет значения функции F(x)=X^2/y - (A+B^3-C) в пределах от x1 до x с шагом H. ICQ: 380945346
SOCKS 4 сервер + клиентский компонент Delphi 2007
Суть в том, чтобы сделать удаленный вызов функций без постоянного соединения с сервером по протоколу SOCKS4.
Клиент - это компонент, класс, который реализует определенный интерфейс. Т.е. это не приложение, это компонент - программный модуль ( или несколько модулей ). Компонент этот невизуальный, бросается на TDataModule.
Также в клиентской программе имеется модуль, в котором определен только лишь интерфейс. Его определяет программист клиентского приложения. Например,
....
type
MyInterface = interface(IInvokable)
function Func1(P1: byte; P2: WideString; P3: Boolean): Boolean;
....
Далее, если в клиентской программе надо вызвать какую-то функцию, то компонент просто преобразовывается к данному интерфейсу.
Выглядит это примерно вот так:
...
var
MySOCKSClient1: TMySOCKSClient;
...
begin
(MySOCKSClient1 as MyInterface).Func1(P1, P2, P3);
...
Вся реализация доступа к серверу, обработки исключений находится внутри класса TMySOCKSClient.
Теперь про сервер.
Сервер - это приложение, оформленное в виде службы под Windows (главным образом под 2003), которое слушает порт.
Сервер состоит как бы из двух частей. Первая часть - это вся его внутренняя реализация. А вторая часть - такой же модуль интерфейса, как и в клиенте + модуль реализации функций, где уже программист пишет свою обработку функции. Что получается? Получается не что иное, как удаленный вызов процедур. Пользователь вызывает функцию в клиентской программе, а бизнес-логика реализуется на сервере, в модуле реализации:
...
type
TMyType = class(TInvokableClass, MyInterface)
function Func1(P1: byte; P2: WideString; P3: Boolean): Boolean;
...
implementation
function Func1(P1: byte; P2: WideString; P3: Boolean): Boolean;
begin
// Код обработки данных
Result := True;
end;
Кто работал с THTTPRIO и SOAP, тот легко поймет о чем идет речь.
Помимо этого, основным требованием к серверу является эффективное управление потоками с использованием пула потоков. Это означает, что в пуле потоки создаются предварительно и используются повторно. Они создаются до использования и хранятся неактивными в пуле. Когда требуется поток, то он берется из пула и активируется. Если требуется больше потоков, чем есть в пуле, то создаются дополнительные потоки. Когда поток больше не требуется, то вместо его разрушения он деактивируется и возвращается в пул.
Также необходимо обеспечить сжатие и шифрование передаваемых данных. Шифрование можно сделать по SSL, можно другое, более быстрое.
Ещё один нюанс - аргументы функций всегда являются простыми типами: числа, строки (WideString), логический тип.
Т.е. сложные типы данных передавать не придется.
Основными критериями качества выступают скорость, низкий объем передаваемых данных, защита информации, с сохранением способности работать через прокси-сервера по SOCKS4.
По поводу реализации. Задача не из простых, так как придется программировать сокеты, программистам без сокетного опыта лучше не браться во избежание мороки с глюками. В принципе, можно использовать и WinSocks и Indy 10, или что-то ещё, с чем вы хорошо дружите.
Выходными артефактми являются исходные коды двух проектов - клиентского компонента и сервера.
Проекты должны компилироваться в Delphi 2007. Проекты не должны использовать платных компонент сторонних разработчиков.
Пожалуйста, предлагайте свои варианты - стоимость, сроки, как будете делать.
Выбранный исполнитель
Заявки фрилансеров
Похожие заказы
- $15Прикладное ПО1 исполнительЗакрыт16 лет назад
Нужно сделать программу на Delphi Реализация Одноканальной Системы Массового Обслуживания (СМО) с ожиданием с использованием типа данных - очередь. Алгоритм событийного моделирования в архиве (надо им) Также в архиве ...
Прикладное ПО1 исполнительЗакрыт16 лет назад- $20
Нужно написать DLL + исходники на Делфи пожробности по ICQ: 380945346
Прикладное ПО1 исполнительЗавершен16 лет назад Нужно перегнать исходники программы на фортране в Делфи(Си++) прога тут http://ifolder.ru/8558061 ICQ: 380945346
Прикладное ПО1 исполнительЗавершен16 лет назад- $500
Требуется программист MsAccess97+MSSQL для доработки складского ПО. Задачи: - написание и отладка сервисов, журналов и отчётов. - оптимизация кода Принцип работы: - поулчаете от меня задания ...
Прикладное ПО23 заявкиЗакрыт16 лет назад Все кто имел дело с извлечением данных из SunRav TestOfficePro 5 пишите в icq 442659519
Прикладное ПОнет заявокЗакрыт16 лет назад- $500
Нужна программа для моделирования теплообмена в помещени в зависимости от интенсивности солнечной радиации, пребывания людей и тепловыделений оборудования. Тепловой режим в помещении не стационарный и описывается дифференциальными уравнениями.
Прикладное ПО13 заявокЗакрыт16 лет назад Нужно с помощью внешнего языка программирования создать в 1С свою панель управления. Напишите цены и сроки
Прикладное ПО6 заявокЗакрыт16 лет назадЕсть exe файл - но нет исходников. Надо изменить одно условие в нем. Сам файл парсит html страницу и отсылает письмо с темой, которую берёт в пропарсеной странице. Надо изменить условие поиска информации ...
Прикладное ПО1 исполнительЗавершен16 лет назадНе совсем честная программка для автоматического голосования в интернете. Я знаю этот сайт. Там раз в час можно проголосовать за песню с одного IP адреса. Причём кнопка для голосования этой песни всегда имеет один URL ...
Прикладное ПО9 заявокЗакрыт16 лет назад