gpt4 book ai didi

javascript - 限制 vline 中 session 中的用户数量

转载 作者:行者123 更新时间:2023-11-28 01:21:57 26 4
gpt4 key购买 nike

我可以限制 session 中的用户数量吗? vline.session 中有任何选项吗?请指导是否可以通过编写自定义 JavaScript 来完成此操作。

编辑:

引用https://vline.com/developer/docs/vline.js/vline.MediaSession#examples ,解释了两方调用 Controller 。我想问一下有没有办法限制一个 session 的用户数量? session 文档中没有这样的选项。 它是否作为 API 的一部分受到支持?

如果可以使用自定义 JavaScript 来完成此操作,如何实现?

作为我努力的一部分,我尝试实现 vline-django 示例,但在文档中找不到解决此问题的部分。

编辑2:对我有用的代码。

  var vlineClient = (function(){

var client, session,
authToken = {{ user|vline_auth_token|safe }},
serviceId = {% vline_service_id %},
profile = {{ user|vline_user_profile|safe }};

// Create vLine client
window.vlineClient = client = vline.Client.create({"serviceId": serviceId, "ui": true});
// Add login event handler
client.on('login', onLogin);
// Do login
client.login(serviceId, profile, authToken);

function onLogin(event) {
session = event.target;

// Find and init call buttons
var callButtons = document.getElementsByClassName('callbutton');
for (var i=0; i < callButtons.length; ++i) {
initCallButton(callButtons[i]);
}
}

// add event handlers for call button
function initCallButton(button) {
var userId = button.getAttribute('data-userid');

// fetch person object associated with username
session.getPerson(userId).done(function(person) {
// update button state with presence
function onPresenceChange() {
button.setAttribute('data-presence', person.getPresenceState());
}

// set current presence
onPresenceChange();

// handle presence changes
person.on('change:presenceState', onPresenceChange);

// start a call when button is clicked
button.addEventListener('click', function() {
person.startMedia();
});
});
}

return client;
})();

我该如何前进?

引用:https://vline.com/developer/docs/vline.js/

最佳答案

如果我理解正确的话,OP正在尝试创建一个多用户聊天室 - 这也是我想要用 vline 做的事情,因为我也想要 a/v 聊天,所以参与者的数量显然应该受到限制 - 它看来术语“ session ”在这里引起了困惑,所以我将避免使用它

我通过在数据库中创建固定数量的用户并处理身份验证来解决这个问题在实际将访问者与准备好的用户之一关联之前,我自己 - 所以一些 javascript 将每个访问者作为现有的“匿名”用户之一登录并仅设置logged_in?在数据库中标记,以便下一个访问者将作为下一个空闲用户槽位登录,并且当所有槽位都被占用时,访问者会收到“聊天室已满 - 稍后再试”响应

可能不是最优雅的解决方案 - 例如,访问者选择的用户名存储在客户端,并且必须重新分配给用户可定义的 vline session 变量之一,以便它可以与每条消息和logging_in一起传递?用户退出时需要重置 db 标志

请注意,这几乎是一年前的事了,所以我对我所做的事情有点模糊,但是如果你有兴趣 fork 它,我的应用程序(rails)在 github 上 - 我还应该补充一点,虽然这种事情并不严格当时由 vline API 支持,至少有一些暗示正在准备一些类似的功能,因此现在可能有一些 API 支持 - 从那时起我确实注意到他们发布了 "chat room demo" github 上的应用程序,我希望他们的实现比我的更简洁,所以你可能想先看一下 - 我的应用程序确实有一个带有头像的基本完整的 UI,欢迎合作

关于javascript - 限制 vline 中 session 中的用户数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23155845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com