データを周期的に取得するには、独自のプロトコルでTCPを介して何千ものクライアントに接続する必要があります。C#で.NETサーバーアプリケーションを作成する必要があります。
最初の試みは、tcpソケットごとに独自のスレッドを作成することでした。これは機能しますが、CPUを大量に使用する必要があります。
代わりに.NETスレッドプールを使用する方がよいことがわかりました。私が理解している限り(http://msdn.microsoft.com/en-us/library/ms973903.aspx)、タイマーを使用して、各ソケットに特定の期間(1秒など)でデータを周期的に取得させることができます。開いているソケットが再び回転する前に開く必要のあるソケットがたくさんあるため、接続がオープンエンドになるとソケットがタイムアウトするため、これは私には機能しません。
別の試みは、非同期コールバックを使用することでした。これは私にとってはうまくいくでしょうが、ソケットにデータを周期的に取得させる方法がわかりません???