Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 无法使TURN REST API正常工作_Node.js_Webrtc_Rfc5766turnserver - Fatal编程技术网

Node.js 无法使TURN REST API正常工作

Node.js 无法使TURN REST API正常工作,node.js,webrtc,rfc5766turnserver,Node.js,Webrtc,Rfc5766turnserver,我正在尝试在node.js中生成用户名和密码。我的密码似乎和TURN服务器生成的密码不匹配 以下是我正在尝试的代码: var turn_user='arafat'; var timestamp= Math.round(new Date().getTime() / 1000) ; var turn_username=turn_user+':'+timestamp; var turn_password=crypto.createHmac('sha1','abc').update(turn_u

我正在尝试在node.js中生成用户名和密码。我的密码似乎和TURN服务器生成的密码不匹配

以下是我正在尝试的代码:

var turn_user='arafat';
 var timestamp= Math.round(new Date().getTime() / 1000) ;
 var turn_username=turn_user+':'+timestamp; 
 var turn_password=crypto.createHmac('sha1','abc').update(turn_username).digest('base64');
 var turnCredentials={};
 turnCredentials.username=turn_username;
 turnCredentials.password=turn_password;
我的服务器url是:

var server = { iceServers: [ {url: "stun:stun.l.google.com:19302"}, //google's stun server 
{url: "stun:23.21.150.121"}, //mozilla's stun server
 {url: "turn:"+url, credential: turnCredentials.password, username: turnCredentials.username} // our working turn server 
] }
以下是我从turn服务器收到的消息:


错误:check_stun_auth:找不到用户的凭据

请注意,TURN REST API文档表示时间戳指示凭据何时过期

var timestamp= Math.round(new Date().getTime() / 1000) ;
var turn_username=turn_user+':'+timestamp;
在这里,您使用当前时间作为到期时间。我建议增加几分钟,让同龄人有时间创建回合分配:

var timestamp= Math.round(new Date().getTime() / 1000) + 300;