【发布时间】:2011-05-24 04:42:12
【问题描述】:
我正在使用 Twisted Python 服务器包装 Minecraft 服务器应用程序,该服务器具有用于获取当前连接玩家列表的 RESTful API。 Twisted 应用程序通过reactor.spawnProcess() 启动我的世界服务器,然后通过ProcessTransport 进行通信,该ProcessTransport 写入标准输入。读取标准输出和标准输入由单独的protocol.ProcessProtocol 类处理。
鉴于我想获得一个非常具体的命令的结果('list' 命令,它返回如下内容:
[INFO] Connected players: blah, blah2
如果我能够在标准输出中挑选出玩家列表行,那么将其传递到要求连接玩家列表的 RESTful API 视图的最佳方式是什么?请记住,我的stdout reader 无法直接与function that is trying to get the list of connected players 通信。我可以解析标准输出并识别要交付的播放器列表,我只是不确定如何将其交付到将连接的播放器列表发送到客户端的 Web API 视图,因为视图和标准输出读取器不是直接的联系方式。
我有一些可行的方法来处理这个问题,但如果有人有想法,我宁愿以“正确的方式”做这件事。
【问题讨论】: