这里有一个艰难的。
因此,我们正在尝试将 OpenTok 视频聊天应用程序从 Flash 升级到 WebRTC,并且在尝试实现“helloworld”WebRTC 示例时遇到了套接字错误。错误发生在我们尝试调用 session.connect() 时,而不是在我们请求 sessionId 或令牌时。错误基本上是这样的(session_id 和 partner_id 匿名):
SessionInfo Response:
#document
<sessions>
<Session>
<session_id>asfgdagbasdfovnwoinvcwoinvoiandfvoinvoidnofgfdfgfgivniodfnv-sdfgdfgdfg-</session_id>
<partner_id>1234567890</partner_id>
<create_dt>Sun Sep 01 12:00:45 PDT 2013</create_dt>
<session_status>INFLIGHT</session_status>
<media_server_url>…</media_server_url>
<p2p_server_url>rtmfp://p2p101-oak.tokbox.com:1945/multicast</p2p_server_url>
<media_server_hostname>oms409-oak.tokbox.com</media_server_hostname>
<messaging_server_url>oms409-oak.tokbox.com</messaging_server_url>
</Session>
</sessions>
connectToMessenger
WebSocket error: undefined
TB.Socket Error :: The socket to oms409-oak.tokbox.com received an error: Unknown Error
TB.exception :: title: Connect Failed (1006) msg: TB.Socket Error :: The socket to oms409-oak.tokbox.com received an error: Unknown Error
关于可能导致这种情况的任何想法?我们正在测试最新版本的 Chrome 29,它发生在本地主机和我们的生产服务器上。所以它似乎不是防火墙。我能想到的一件事是我们在 Meteor/Node.js 框架上运行,该框架默认启用 websockets。该代码几乎是来自以下的样板 helloworld 示例:
http://tokbox.com/opentok/tutorials/hello-world/js/demo.html
我们成功获得了 sessionId 和令牌,只是 session.connect() 永远不会发生(因此,我们永远无法获得我们的连接对象或订阅事件侦听器)。
关于我们如何调试这个问题的任何想法?提前感谢您的帮助!阿比盖尔