【发布时间】:2013-07-17 02:28:51
【问题描述】:
最近我尝试将 OpenTok 的 WebRTC 演示用于需要点对点视频/音频通信的 Web 应用程序。
我浏览了http://www.tokbox.com/opentok/webrtc/docs/js/tutorials/ 和http://www.tokbox.com/opentok/docs/server/server_side_libraries.html 上的教程,并使用JavaScript(客户端)和PHP 库(服务器端)生成令牌/会话。
我设法编写了一个基本的点对点聊天室本地。但是,一旦我将它上传到网络服务器,它就会爆炸并返回以下错误:
Fatal error: Uncaught exception 'RequestException' with message 'Request error: Failed
to connect to 70.42.47.98: Permission denied' in /home/www/dummy_url.com/php-
sdk/SDK/Opentok-PHP-SDK/OpenTokSDK.php:192 Stack trace: #0 /home/www/dummy_url.com/php-
sdk/SDK/Opentok-PHP-SDK/OpenTokSDK.php(107): OpenTokSDK->_do_request('/session/create',
Array) #1 /home/www/dummy_url.com/php-sdk/SDK/Opentok-PHP-SDK/OpenTokSDK.php(221):
OpenTokSDK->createSession('74.96.245.119', Array) #2 /home/www/dummy_url.com/php-
sdk/index.php(16): OpenTokSDK->create_session('74.96.245.119', Array) #3 {main} thrown
in /home/www/dummy_url.com/php-sdk/SDK/Opentok-PHP-SDK/OpenTokSDK.php on line 192
我看了看第 192 行:
//die(function_exists('curl_version')); // debugging
$res = curl_exec($ch);
if(curl_errno($ch)) {
throw new RequestException('Request error: ' . curl_error($ch)); // <=== LINE 192
}
curl_close($ch);
并验证服务器已启用 curl。确实如此。
然后我尝试运行演示测试,但失败:
Assertion Failed: File '/home/www/skillfullearning.net/test/test/TestOpenTokSDK.php'
Line '102'
Code ''
“102”行是什么?这个:
...
$token = $a->generateToken("mysession", RoleConstants::MODERATOR, gmmktime() + 100000);
assert('$token');
$token = $a->generateToken("mysession", RoleConstants::MODERATOR, gmmktime());
assert('$token');
try {
$token = $a->generateToken("mysession", RoleConstants::MODERATOR, gmmktime() +
1000000);
assert(false);
} catch (Exception $e) {
assert('$e'); // <================ LINE 102
}
...
我真的不知道从这里去哪里。我真的很感激能在这件事上得到一些帮助。
/E
【问题讨论】:
-
您的远程主机可能阻塞了套接字连接
-
感谢@DevZer0 的回复。我如何验证这实际上正在发生?我有这种感觉,因为它不允许我从服务器端库生成会话 ID 和令牌。但是,当我从 opentok.com 生成会话和令牌并将其硬编码到我的文件中时,它可以完美运行。再次感谢,先生。
标签: php webrtc livechat opentok