OpenTok会话连接问题(Javascript / Rails应用程序)

问题描述 投票:0回答:1

这是我想在连接2个用户的情况下进行的基本视频聊天。在对opentok教程进行了一些研究之后,我无需使用Server SDK就可以创建双向聊天。

但是当我创建Rails服务器端应用程序时,我无法进行双向聊天,而是该链接仅创建单个会话,并且不接受任何其他用户。

我已将gem opentok包含在Gemfile中。

问题:即使出现在另一个选项卡中的现有屏幕之后,也只会出现Single Video Div。即,我打开链接,得到一个视频屏幕,当我在另一个标签中打开相同的链接时,得到一个视频屏幕,而不是两个。 (会话连接存在一些问题。)>

来自控制器的代码:

class AuthController < ApplicationController

require "opentok"


def index
  config_opentok

  session = @opentok.create_session
  @id = session.session_id
  @token = session.generate_token

end

private

  def config_opentok
    if @opentok.nil?

      @opentok = OpenTok::OpenTok.new API_KEY, 'SECRET'

    end
  end

end

我已经从Opentok仪表板输入了正确的Api_key和Secret。

查看代码:

<div id='myPublisherDiv'></div> 
<div id='subscribersDiv'></div> 

<script src='//static.opentok.com/v2/js/opentok.min.js'></script> 
<script> 


  var apiKey = API_KEY; // used correct Api_key in APP
  var sessionId = '<%= @id %>'; 
  var token = '<%= @token %>';
  var session = OT.initSession(apiKey, sessionId); 
  session.on({ 
      streamCreated: function(event) { 
        session.subscribe(event.stream, 'subscribersDiv', {insertMode: 'append'}); 
      } 
  }); 
  session.connect(token, function(error) {
    if (error) {
      console.log(error.message);
    } else {
      session.publish('myPublisherDiv', {width: 320, height: 240}); 
    }
  });
</script> 

我尝试了其他一些变体,添加了事件处理程序等,但对我没有任何帮助。 任何帮助表示赞赏。如果可能,请提供示例代码。

这是我想在连接2个用户的情况下进行的基本视频聊天。在对opentok教程进行了一些研究之后,我无需使用Server SDK就可以创建双向聊天。但是当我创建...

javascript ruby-on-rails session dom-events opentok
1个回答
0
投票

问题是您正在为每个页面加载创建一个新会话。这意味着每个访问者都将获得不同的会话ID,因此这两个访问者将永远无法彼此订阅。

© www.soinside.com 2019 - 2024. All rights reserved.