Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Виртуализация удаленного COM-порта


Автор: Castiel 22.2.2009, 17:37
Делаю приложение, которое будет виртуализировать com-порт. Пояснию на всякий случай. Пусть стоит компьютер "1" с 4мя com-портами. На нем запущена серверная часть моего приложения. Я запускаю клиентскую часть на другом компе(компьютер "2") и удаленно управляю com-портами компьютера "1". Открываю-закрываю, шлю/принимаю данные. В принципе большая часть уже сделана. То есть сейчас полностью готова серверная часть, которая принимает по tcp сообщения и шет их в порт, а также написана клиентская часть, которая просто шлет сообщения по tcp и принимает ответы. Для полной "виртуализации" осталось совсем немного. Под "полной" виртуализацией я понимаю такую схему. Предположим открываю гипертерминалом на компьютере "2" второй com-порт и шлю данные. Мой клиент должен перехватить посылку и отослать её серверной части, потом получить ответ и каким-то образом засунуть её в буфер com-порта чтобы гипертерминал увидел ответ.... Как это сделать - вообще не представляю... Ведь только одно приложение одновременно может использовать порт? Но ведь как-то делают "прослушки портов" вроде Serial Port Monitor? Направьте пожалуйста в нужную сторону, а то я даже не знаю с какого бока подойти.

Автор: Romikgy 23.2.2009, 10:52
драйвер ком порта нужно писать имхо

Автор: bartram 23.2.2009, 20:10
Цитата(Romikgy @  23.2.2009,  12:52 Найти цитируемый пост)
драйвер ком порта нужно писать имхо 

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

Автор: skyboy 24.2.2009, 11:09
есть готовые решения.
больше всего мне нравится проект http://com0com.sourceforge.net/(есть некий com2tcp, но он платный; есть некий tcp2com, но он только в одном направлении работает: com -> tcp).

Автор: jungle 6.3.2009, 11:24
Не понимаю, если есть клиентская часть, зачем тут гипертерминал? Иначе, вся прелесть применения клиент-серверной архитектуры бесмысленна. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)