通过ICE与Mumble交流是一个非常有趣的任务,只有很少的例子。
我试图在PHP中创建用户身份验证器,并且我在设置方面遇到了一些问题。我的设置是PHP 5.5,Murmur 1.3.0和ICE 3.5.1
$ICE = Ice_initialize();
$secret = array('secret'=>'');
try{
$base = $ICE->stringToProxy("Meta -e 1.0:tcp -h 127.0.0.1 -p 6502");
$meta = $base->ice_checkedCast("::Murmur::Meta")->ice_context($secret);
$mconfig = $meta->getServer(1)->ice_context($secret)->getTree();
这是我到目前为止设置ice服务器的上下文,我想为Murmur :: ServerAuthenticator接口设置回调"验证"
我不确定如何使用ICE Callback系统进行设置,以便能够使用auth的所有详细信息调用函数并返回所需的数据。
这样的事情:
$server->setAuthenticator($auth);
$auth = myownfunc($user, $pw, $certificates, $certhash);
答案 0 :(得分:0)
我认为身份验证器需要保持TCP连接打开,换句话说,它们必须是守护进程,您不能(或者可能不应该尝试)使用PHP。
因此,您可以在下面找到的所有身份验证器示例都是用Python编写的,并且您会注意到它们示例化了一种或另一种方式。
https://github.com/mumble-voip/mumble-scripts/blob/master/Authenticators
令人困惑的事情可能是您是客户端(服务器杂音),但是当回调/身份验证到达时,该客户端需要保持连接状态