次の問題について、いくつかの指針が必要です (実例は素晴らしいでしょう)。私はソケットプログラミングに不慣れですが、.net には慣れていませんが、VB や C# にヘルプがあるかどうかは気にしません。
私は「クライアント」システムを持っています。これは、数秒(10秒としましょう)ごとに定期的なデータのチャンク(実際にはASCII)を吐き出します。データはおそらく 1K 未満の小さなサイズになり、各出力を特定のシーケンス (たとえば<EoM>
) で区切ることができます。この「クライアント」は、複数 (1 つ以上、5 つ未満) の異なるポートに出力します。
必要な数のポートを開き、データの到着をリッスンするサーバーを作成する必要があります。メッセージがポートの 1 つに到着し<EoM>
、最後に区切り文字がある場合、そのデータを取り出して、そのデータに対して処理を実行できるようにしたいと考えています (データを解析し、DB に入力して情報を取得します)。そして、次のデータが到着するのを待ち続けます。これは、定義されたすべてのポートで発生する必要があります。クライアントが切断された場合、ポートが待機して再接続をリッスンし、以前と同じように処理を続行できるようにすることをお勧めします。ただし、通信する単一のクライアントであるため、1 つのポートが切断された場合、切断後に再度リッスンするよりも簡単であれば、サーバー プロセスを再起動しても問題ないと仮定します。
私が言ったように、長くてひどく正確ではない質問で申し訳ありませんが、ソケットプログラミングは初めてなので、これを行う方法の実際の例は大歓迎です。最終結果は理想的には Windows サービスですが、デバッグを容易にするためにすべてが機能するまで、フォーム アプリとして開始したいと考えています。
どんな助けにも乾杯。