2012-07-10 53 views
0

我在VS2010中編寫了一個XNA 4.0解決方案,它可以獲取3D笛卡爾座標列表並生成一個很好的3D可視化效果。將傳入數據導向正在運行的程序

定期地,我從一個telnet連接獲得一個新的座標列表。我可以重定向telnet會話的輸出,並讓它發出一個OS命令來啓動我的程序作爲命令行參數傳入新列表。這將啓動程序的一個新實例,使其加載所有資源等等並渲染場景。

如果我能以某種方式將我的應用程序這個數據傳遞給當前運行的實例,那麼我可以消除多個實例彈出並消除每個新實例的資產加載時間。

我不太確定採用何種技術或方法來完成此任務。有沒有一種簡單的方法可以在運行時傳遞我的C#程序中的一些數據?

我想到的一種方法是將輸出重定向到flatfile,並讓我的運行實例不斷檢查flatfile是否有更新。不過,我不確定每秒執行60次這樣的IO是否可行。

回答

1

,如果你想這樣做盡可能少的變化可能的(也就是說,如果你像我一樣),我會做這樣確定:

  • 我的主要應用,大XNA之一,我不得不開始它知道你在端口上一個TCP服務器,說8012
  • 我的telnet腳本將運行一個小的應用程序,我寫的,並把它的文本作爲參數
    • 這一計劃將連接到端口8012在localhost併發送參數到我的應用程序
    • 我的主要XNA應用程序將被聽它,它會自動添加到其數據集
+0

謝謝,我會考慮實施這樣的事情。 – user17753 2012-07-10 17:12:57

+0

我最終把端口偵聽器放在它自己的線程中,以保持它與繪製循環分開,但是這對我來說非常有用。 – user17753 2012-07-11 13:22:18

相關問題