[ウェブメソッド]があります。それが行うことは、[Web メソッド] を呼び出すクライアントによってディレクトリ パスが提供されるディレクトリ内の *.dat ファイルを探すことです。
クライアントが [Web メソッド] を呼び出した時点で、コードはファイルをチェックするループに入ります。見つかった場合は、リストが返されます。また、明らかにタイムアウトすることもあり、その場合、クライアント コードはエラーをトラップし、[Web メソッド] を再度呼び出します。
別の方法として、クライアントで TCP ソケットを開くと、サーバー上の受信ソケット サービスに「here I am」が送信されます。サーバーは、クライアントが提供した基準で *.dats の存在を探します。1 つ以上のファイルが見つかった場合は、'1' が返されます。ファイルがない場合、「0」が返されます。クライアントがサーバーから「1」を受信すると、クライアント アプリは [Web メソッド] を呼び出して利用可能なリストを取得します。
コールバックに WCF を使用できることはわかっていますが、最初にこれら 2 つのオプションを明示的に確認したいと思います。
SignalR についても認識していますが、Windows 8 より前のオペレーティング システムを使用している場合、SignalR は Web ソケットではなくロング ポーリングに戻ることがわかりました。
最初の方法を実行するとサーバーに「重点」が置かれ、2番目の方法を実行すると「ストレス」が均等に分散されますが、繰り返しのTCP呼び出しが必要になることを理解できます。
私はテストを行いましたが、どちらも独自のものを保持しているようです。
どなたからのご意見もありがたく頂戴いたします。
私の目標は、速度、低メモリ消費、コードの簡単な管理、サーバーとクライアント間の疎結合です-基本的に明らかです...
ありがとう...