Совместное использование SerialPort в разных экземплярах

У меня есть много экземпляров программы, использующей SerialPort-Connection.

Первый экземпляр должен открыть последовательный порт, а последний должен закрыть соединение.

Экземпляры между этими двумя должны проверять, открыто ли соединение, и использовать его.

Экземпляры не могут общаться между собой.

Моя идея заключалась в следующем:

Все экземпляры делают это в начале:

port = new SerialPort( portName );
if (!port.IsOpen)
{
    port.Open();
}

Последний проверяет, установлено ли свойство, и при необходимости закрывает порт.

if (ClosePort && port.IsOpen)
    port.Close();

Но это не сработало (отказано в доступе). Я думаю, это потому, что каждый экземпляр создает новый объект SerialPort?!

Но я не могу дать каждому экземпляру объект SerialPort из первого экземпляра. Есть ли другой способ сделать это?


person Tim Siefert    schedule 15.10.2011    source источник


Ответы (1)


Вы должны принять схему клиент/сервер, где сервер управляет последовательным портом, а клиенты подключаются к серверу для выполнения его операций.

Вы можете сделать это с помощью простой розетки.

person Blau    schedule 15.10.2011