0

我在 VS2010 中编写了一个 XNA 4.0 解决方案,它可以获取 3D 笛卡尔坐标列表并生成漂亮的 3D 可视化。

定期地,我从 telnet 连接中获得一个流式传输的新坐标列表。我可以重定向 telnet 会话的输出并让它发出一个操作系统命令来启动我的程序,并将新列表作为命令行参数传递。这将启动程序的一个新实例,使其加载所有资产等并渲染场景。

如果我能以某种方式将我的应用程序这些数据传递给当前正在运行的实例,那么我可以消除弹出多个实例并消除每个新实例的资产加载时间,这会更令人兴奋。

我不太确定这样做需要哪些技术或方法。有没有一种简单的方法可以在运行时传递我的 C# 程序一些数据?

我想到的一种方法是将输出重定向到平面文件,并让我正在运行的实例不断检查平面文件是否有更新。不过,我不确定每秒执行 60 次这样的 IO 命中是否可行。

4

1 回答 1

1

好的,如果你想用尽可能少的改变来做到这一点(即如果你像我一样),我会这样做:

  • 我的主要应用程序,大型 XNA 应用程序,我会让它在你知道的端口上启动一个 TCP 服务器,比如 8012
  • 我的 telnet 脚本将运行我编写的一个小应用程序并将文本作为参数发送给它
    • 该程序将连接到端口 8012localhost并将参数发送到我的应用程序
    • 我的主要 XNA 应用程序会监听它并自动将其添加到它的数据集中
于 2012-07-10T17:04:05.707 回答