簡體   English   中英

打開與 COM1 端口的連接,即使它已被 C# 中的另一個進程打開

[英]Open a connection with COM1 port even if its already opened by another process in C#

我試圖從 C# 中的 COM 端口讀取數據,我需要先打開與 COM 端口的連接。 但是我嘗試連接的端口已被另一個進程打開,我還需要打開其他進程。 我知道到 COM 端口的連接是獨占的,只有一個進程可以打開連接。 但我想知道是否可以在不關閉第一個連接的情況下從同一個端口讀取數據,我的意思是強制打開、使用間諜模式、端口偵聽或監視端口。 我用於連接的代碼是:

SerialPort sp = new SerialPort();
                sp.PortName = comboBox1.Text;
                if (!sp.IsOpen)
                {
                    sp.Open();
                }
I get this error: **Access to the port 'COM1' is denied.**
Any help or recommendations will be grateful.

不,如果您將其導出到獨立應用程序,那么最好關閉另一個應用程序,因為當您導出代碼時,打開第二個應用程序將毫無意義。 如果您嘗試將 unity 與 Arduino 一起使用,則只需關閉串行監視器或應用程序本身。

監視端口是不可能的,但是您可以創建一種集線器。
我建議您使用一個進程(唯一打開端口的進程),它將使用套接字與其他進程通信。 如果您不知道該怎么做,請查看以下內容:

  • 套接字(Tcp 偵聽器和客戶端)
  • 端口

您將使用 System.Net.Socket 命名空間,所以這里有一個快速入門指南,看看它是如何工作的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM