【发布时间】:2017-02-15 18:14:58
【问题描述】:
我的问题和this回答中提到的一样。我一直在尝试理解代码,这就是我学到的:
在文件 parse_xml.cgi 中失败,尝试从名为 messages 的文件(位于 html_en 目录中)获取消息 (return $message{$name})。
$messages 值来自文件 adminprotocol-lib.pl 中的方法GetMessageHash:
sub GetMessageHash
{
return $ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}
}
$ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"} 在文件 streamingadminserver.pl 中设置:
$ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"} = $messages{"en"}
我对 Perl 一无所知,所以我不知道问题可能是什么,因为我看到的 $messages{"en"} 具有正确的值(如果我这样做 print($messages{"en"}{'SunStr'} 我得到的值是“Sun”))。
但是,如果我尝试执行print($ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}{'SunStr'},我将一无所获。好像没有设置$ENV{"QTSSADMINSERVER_EN_MESSAGEHASH"}
我尝试了这个简单的例子,效果很好:
$ENV{"HELLO"} = "hello";
print($ENV{"HELLO"});
它工作正常,打印“你好”。
知道问题可能是什么吗?
【问题讨论】:
-
Darwin Streaming Server 在功能上已经过时。自 2007 年以来没有任何新版本!我会避免将它用于任何新项目。
-
你说得对,我仍然需要尝试,因为我没有找到很多我需要的选项(一个能够通过 RTSP 流式传输 mp4 的开源服务器)。如果我想使用它,我需要调整一些东西(并花一些时间学习 Perl)所以我想我会继续寻找。