0

VS2010でXNA4.0ソリューションを作成しました。これは、3Dデカルト座標のリストを取得し、優れた3D視覚化を生成できます。

定期的に、telnet接続から新しい座標のリストがストリーミングされます。telnetセッションからの出力をリダイレクトし、OSコマンドを発行してプログラムを起動し、コマンドラインパラメーターとして新しいリストを渡すことができます。これにより、プログラムの新しいインスタンスが起動し、すべてのアセットなどが読み込まれ、シーンがレンダリングされます。

アプリケーションにこのデータを現在実行中のインスタンスに渡すことができれば、複数のインスタンスがポップアップすることをなくし、新しい各インスタンスのアセットの読み込み時間をなくすことができれば、非常に重要です。

これを行うためのテクノロジーやアプローチがどのようなものかはよくわかりません。実行時にC#プログラムにデータを渡す簡単な方法はありますか?

私が考えたアプローチの1つは、出力をフラットファイルにリダイレクトし、実行中のインスタンスにフラットファイルの更新を常にチェックさせることでした。ただし、このようなIOヒットを1秒間に60回実行できるかどうかはわかりません。

4

1 に答える 1

1

できるだけ少ない変更でこれを実行したい場合(つまり、あなたが私のようである場合)、私は次のようにします。

  • 私のメインアプリケーションである大規模なXNAアプリケーションでは、既知のポート、たとえば8012でTCPサーバーを起動します。
  • 私のtelnetスクリプトは、私が書いた小さなアプリケーションを実行し、それをパラメータとしてテキストを送信します
    • このプログラムはポート8012に接続しlocalhost、パラメータをアプリに送信します
    • 私のメインのXNAアプリはそれをリッスンし、データセットに自動的に追加します
于 2012-07-10T17:04:05.707 に答える