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

Добрый день! Есть устройство 2000 года производства которое подключается к компьютеру по com порту. Софт который идет в комплекте с анализатором (устройством) морально и технически устарел. Мы задумались о разработке своего софта с некоторыми фишками которых изначально не было.
1 из фишек это одновременная работа с разными пользователями (rdp клиентами) и тут мы застряли.
Как организовать возможность доступа к com порту одновременно из нескольких программ?
Возможно использование прослойки в виде программы драйвера, но как ее правильно реализовать что бы не было конфликтов? (Сколько я не искал в интернете я не нашел ни одной статьи о написании драйвера для com устройства, что не удивительно...)
Единственное что пришло в голову это написание сервиса windows к которому будут обращаться запущенные копии программ а сервис к устройству. Это единственный возможный вариант?
  • Вопрос задан
  • 3423 просмотра
Пригласить эксперта
Ответы на вопрос 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 Куратор тега Windows
Любые ответы на любые вопросы
Начать нужно с анализа протокола анализатора. Ищите документацию, или воспользуйтесь перехватом пакетов, чтобы узнать, что там передается.
Ответ написан
Ваш ответ на вопрос

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

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