Драйвер принт-сервера Windows
Windows умеет печатать на сетевой аппаратный принт-сервер (классика - HP JetDirect, маленькая коробочка одним концом подключается к сети, другим - к порту LPT принтера). Настраивается это так: Добавить новый принтер / Локальный принтер / Создать новый порт / Standart TCP/IP port. Этот процесс в картинках здесь: http://wtware.ru/win2k3/printer.html
Надо:
1. Добавить новую строчку в меню "Тип устройства, обычное" (смотрите картинку http://wtware.ru/win2k3/imgs/printer-04.png )
2. Написать к этой строчке обработчик, драйвер. Он должен получать поток данных от систему, сжимать и отправлять в сеть.
3. Написать "серверную" часть. В виде консольного приложения под Windows, которое будет разжимать полученный поток и дописывать в файл.
Протокол общения (если он понадобится) придумывайте сами. Если я ничего не путаю, у классического JetDirect протокола вообще нет. К алгоритму сжатия надо подойти серьезно - именно сжатие является ключевым моментом, из-за которого затевается эта разработка.
"клиентская" часть (драйвер) будет выполняться на серверах, у которых мощности более чем достаточно хоть для арифметического кодирования, хоть для фрактального сжатия.
"серверная" часть должна быть написана на С (не С++), выполняться на 486-х и довольствоваться максимум 4-мя мегабайтами памяти под буферы, поэтому ей не следует быть излишне ресурсоемкой. Но следует также учитывать, что через эту штуку не проходит большой объем данных. Это всего будет лишь печатать, причем предполагается, что эта штука будет использоваться только на узких каналах между клиентом и сервером. Я оцениваю минимальную необходимую производительность "серверной" части в один мегабайт в минуту на 486sx25.
Главное в компрессии - степень сжатия.
Код должен быть лицензионно чистым, имущественные права передаются нам (если хотите - можно делать GPL, но тогда оплата соответственно снижается). Правила оформления кода RSDN. Язык - С/С++, проект должен собираться на VC Express.