Back Connect Server

Александр16 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
16.03.2010

Алгоритм работы:

Программа слушает порт на сервере (к примеру 6666)

Клиенты подключаются к данному порту, сервер в свою очередь принимает подключение клиента, открывает на прослушивание новый порт и организует "прозрачный" туннель между клиентом и открытым портом для него (а точнее программой которая будет подключатся к этому порту).

Пример:

Клиент подключается на порт 6666, сервер открывает на прослушивание порт 5555 и связывает его с клиентом, далее какая то программа подключается на сервер на порт 5555 и соответственно все отправляемые ею запросы перенаправляются на клиента и соответственно все ответы клиента перенаправляются программе.

Для след подключенного клиента открывает порт 5556 и т.д.

Требования:

- На асинхронных сокетах

- Возможность получения листа активных клиентов в виде: 'IP сервера' 'Port сервера для клиента' 'IP клиента'. Соответственно лист обновляется при каждом подключении или отключении клиента

- Отключение клиента при обрыве связи, по таймауту и т.п.

- Рациональное потребление процессора и памяти, т.к. один сервер может обслуживать тысячи клиентов

- Рекомендовано на С++, выслушаю ваши предложения

- ОС для работы: Linux

- без потерь памяти :)

- возможны небольшие доработки и корректировки

Сроки очень сжаты. Необходимо срочно.

Просьба писать только имеющих опыт в разработке подобного ПО.

Возможно у кого то уже есть готовое решение.

Оставляйте сроки и цены.