Одновременный доступ нескольких программ к com порту, как?

Добрый день! Есть устройство 2000 года производства которое подключается к компьютеру по com порту. Софт который идет в комплекте с анализатором (устройством) морально и технически устарел. Мы задумались о разработке своего софта с некоторыми фишками которых изначально не было.
1 из фишек это одновременная работа с разными пользователями (rdp клиентами) и тут мы застряли.
Как организовать возможность доступа к com порту одновременно из нескольких программ?
Возможно использование прослойки в виде программы драйвера, но как ее правильно реализовать что бы не было конфликтов? (Сколько я не искал в интернете я не нашел ни одной статьи о написании драйвера для com устройства, что не удивительно...)
Единственное что пришло в голову это написание сервиса windows к которому будут обращаться запущенные копии программ а сервис к устройству. Это единственный возможный вариант?
  • Вопрос задан
  • 4844 просмотра
Пригласить эксперта
Ответы на вопрос 3
a_volkov1987
@a_volkov1987
Инженер-схемотехник
Да никак. Com-порт никогда не подразумевал общение с несколькими устройствами, так как нет ни арбитража, ни присвоения адреса и т.д. Так что пока один подключенный клиент не отвалит, второму на порту делать нечего.
Читать порт двумя приложениями можно без проблем с точки зрения порта, а вот писать в порт из нескольких приложений - большая проблема, так как вы не можете знать, не попытается ли другое приложение установить связь, когда вы общаетнсь по порту с устройством. Максимум, что можно сделать - ставить клиентов на очередь при попытке записи в порт.
Ответ написан
Комментировать
alsopub
@alsopub
Попробуйте загуглить "com port share", вроде есть порграммы для этого дела.
https://www.google.com/#q=com+port+share
Типа www.eltima.com/products/serialshare
Shared Serial Ports ensures simultaneous, high-speed, bi-directional and collision-free connection to RS232 serial port for unlimited number of applications.
Ответ написан
gbg
@gbg Куратор тега Arduino
Любые ответы на любые вопросы
Начать нужно с анализа протокола анализатора. Ищите документацию, или воспользуйтесь перехватом пакетов, чтобы узнать, что там передается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы