通过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接口"authenticate“设置一个回调。
我不确定如何使用ICE回调系统设置它,以便能够调用包含身份验证所有详细信息的函数并返回所需的数据。
如下所示:
$server->setAuthenticator($auth);
$auth = myownfunc($user, $pw, $certificates, $certhash);发布于 2018-08-22 22:17:51
我认为身份验证器需要保持TCP连接的开放,换句话说,它们必须是守护进程,这是您不能(或者可能不应该尝试)使用PHP实现的。
因此,您可以在下面找到的所有验证器示例都是用Python编写的,您会注意到它们以某种方式守护进程。
https://github.com/mumble-voip/mumble-scripts/blob/master/Authenticators
令人困惑的是,您可能是一个客户端(服务器不正常),但当回调/身份验证到达时,此客户端需要保持连接)
https://stackoverflow.com/questions/31016339
复制相似问题