0

限界を超えて、本当に具体的な質問をするつもりです。私のオフィスには、イーサネットカードに接続されているカードリーダーデバイスがあります。以下は、このカードリーダーのプログラム(プログラムとともに配布)の構成ウィンドウのスクリーンショットです。

ここに画像の説明を入力してください

IPアドレスとポートがあり、COM3と表示され、ボーレートがあります。分散プログラムは正常に機能しています。デバイスからデータをフェッチします。

私の質問は、どうすればこのデバイスからデータを取得できますか?ソケット接続する必要がありますか?

注:分散プログラムのフォルダーには、DLLが関連付けられていません。VB6プログラムDLLのみ。(ちなみに、分散プログラムはVB6で開発されています)。

あなたのアイデアをありがとう。

アップデート :

これが私の最終的なコードです。

 byte[] b = null;
    TcpClient client = new TcpClient("10.1.2.100", 5005);
    client.SendBufferSize = 6550000;
    NetworkStream stream = client.GetStream();
    MemoryStream ms = new MemoryStream();

    int count = 0;
    do
    {
        byte[] buffer = new byte[1024];
        count = stream.Read(buffer, 0, 1024);
        ms.Write(buffer, 0, count);
    } while (stream.CanRead && count > 0);
    b = ms.ToArray();

ただし、NetworkStreamのDataAvailableプロパティはfalseです。

4

1 に答える 1

1

そのプログラムが、デバイスがCOMポートにリンクされているコンピューターで実行されない場合は、TCP / IPを介してプログラムにアクセスする必要があります(質問の情報を指定してください)。

したがって、ポート5005でIP 10.1.2.100にアクセスすると、デバイスと通信できるはずです。

于 2012-05-09T11:30:26.957 に答える