我想在ASP.NET Web Forms
. 在这个网站上,我想在指定的时间(假设 30 秒)内随机连接任意两个在线用户。
我正在考虑将用户添加到临时表中_(以跟踪在线用户)_并在他们登录后立即为其分配一个随机数,并在注销时将其从临时表中删除。
问题:
- 我不知道如何在会话过期或浏览器关闭时从表中删除用户。
- 我不确定如何随机连接两个在线用户(比如在 omegle 中)。当用户 A和用户 C连接时,用户 B应该无法连接到
User A and User C
有什么建议么?
我想在ASP.NET Web Forms
. 在这个网站上,我想在指定的时间(假设 30 秒)内随机连接任意两个在线用户。
我正在考虑将用户添加到临时表中_(以跟踪在线用户)_并在他们登录后立即为其分配一个随机数,并在注销时将其从临时表中删除。
问题:
User A and User C
有什么建议么?
您可以每 10 秒发送一次 Ajax 请求,通知服务器“用户 x 当前与用户 y 连接”。lastUpdate
在包含用户的表中,您通过更新到当前时间connected
来存储每个用户发送其最后一次“我还在那儿”请求的时间1
。当用户在线但未连接时,您将更新lastUpdate
并设置connected
为零。
表结构如下:
users
userId | lastUpdate | connected
connections
userA | userB
20lastUpdate
多岁以前,与该用户的联系很可能不再存在。
随机连接用户时,您将只选择在线的用户(即lastUpdate
少于 20 秒前的用户)。
连接两个用户时,只选择当前未连接(connected = 0
)和在线(lastUpdate
不超过 20 秒前)的用户。