現在、シリアルポートを介して RFID カードリーダーからデータを受信するアプリに取り組んでいます。データ、その後、データは TCP/IP によってサーバーに送信される必要があります。
私はすでに両方を機能させていますが、同時には機能していません。カードから ID を読み取ることができ、サーバーにテキストを送信することもできます。しかし、私はあなたに提案を求めたいと思います.これら2つのことが一緒に働くための最良の解決策は何ですか.
現時点では、2 つのクラスで TCP/IP の使用とシリアルの使用があります。メインクラスから両方のクラスのオブジェクトを作成し、シリアルポートからデータを読み取るスレッドを開始します。
このようなことを試してみるべきですか?
クラスでは、シリアル使用オブジェクトのみを作成し、読み取りを処理するスレッドを呼び出します。その読み取りスレッド内で、TCP/IP 接続を開き、シリアル ポートから受信したデータを送信する新しいスレッドを呼び出します。
もう 1 つの方法は、メイン クラスから両方の接続を開きますが、シリアル ポートの受信スレッドから (すでに開いている接続を介して) TCP/IP 送信スレッドを開始します。
私はスレッド化の経験があまりないので、仲間のソフトウェア開発者に助けを求めます。ありがとう!(それが役立つ場合は、ここにコードの一部を貼り付けることができます)。
更新しました:
それはヒントです。あなたが提案したことを詳しく調べます。それは良い考えだと思いますが、私が言ったように、私はスレッド化の経験があまりありません。これらのクラスで個別のスレッドを作成し、両方が同じオブジェクトを使用する場合、それは機能しますか?たとえば、メッセージ クラスのオブジェクトを使用し、COM 処理スレッドで新しいオブジェクトを作成し、TCP/IP 処理スレッドがそのオブジェクトを使用します。 TCP/IP 経由でデータを送信するには? List でできるように、クラス Message のオブジェクトのキューを作成できますか? また、クラス内のあるスレッドで作成されたオブジェクトのキューを別のスレッドに渡すにはどうすればよいですか