[ad_1]
インターネット経由でクライアント システムに接続された USB デバイスと通信したいのですが、
クライアント側でデバイスが接続されているポートに接続し、自分側で関数の実行を呼び出す必要があります。
そのため、USB デバイスが接続されている場合、クライアントにコードを持たずにその USB デバイスと通信する必要があります。
USB デバイスのコードはメーカーから提供されていますが (私はライブラリを使用しているだけです)、機密性のためにクライアント マシンに常駐させることはできません。
私が試したこと:
C#
public void ConnectRemoteDevice() { SerialPort mySerialPort = new SerialPort("COM10"); mySerialPort.BaudRate = 9600; mySerialPort.ErrorReceived += DataReceivedHandler; mySerialPort.Parity = Parity.None; mySerialPort.StopBits = StopBits.One; mySerialPort.DataBits = 8; mySerialPort.Handshake = Handshake.None; mySerialPort.DataReceived += DataReceivedHandler; mySerialPort.Open(); mySerialPort.ReadExisting(); mySerialPort.Close(); } private void DataReceivedHandler(object sender, SerialErrorReceivedEventArgs e) { SerialPort sp = (SerialPort)sender; string indata = sp.ReadExisting(); Debug.Print("Data Received:"); Debug.Print(indata); GetMeasure(); } public string GetMeasure() { //the code to trigger the USB device and get the data from it }
解決策 1
USB デバイスにアクセスするサービスが必要ですか? もちろん、これは不可能です。
解決策 2
原則として、ユーザーが協力しない場合、リモート サーバーは PC にアクセスできません。
連携はHDD共有でもプリンター共有でも構いませんが、資格情報が必要です。
協力は、クライアントがサーバーからWebアプリを開くことであり、camへのアクセスを開きますが、クライアントが許可した場合に限ります。
カムを Web アプリとリモート サーバーに公開するには、特別なドライバーが必要で、USB デバイスにも同じ種類のドライバーが必要です。
引用:USB デバイスのコードはメーカーから提供されていますが (私はライブラリを使用しているだけです)、機密性のためにクライアント マシンに常駐させることはできません。
USB デバイスのドライバーは、何があってもクライアント PC に存在する必要があります。
クライアントが特定のソフトウェアをインストールしてデバイスを外部に公開しない場合、リモート サーバーはデバイスにアクセスできません。
[ad_2]
コメント