我正在为我的网站(ASP.NET C#)做一个聊天室。开始时,我选择ASP.NET网站来开发我的网站,而不是ASP.NET Web应用程序。
在我尝试应用SignalR之前,一切看起来都很好。
我有所需的参考资料,.dll也是由NuGet在以下路径下载的(例如)
D:\CL\CL\packages\Microsoft.Owin.2.1.0\lib\net45\Microsoft.Owin.dll
现在的问题是Startup.cs(如下所示)
using System;
using System.Threading.Tasks;
using Microsoft.Owin;
using Owin;
我在Firebase上遇到了一些问题。我想做的是,如果聊天室不存在,创建一个新的聊天室,否则,获取已有的聊天室ID。到目前为止,我所实现的是:
数据库结构如下:
chatrooms
chatroomID
participantID1 *(can be senderKey or recipientKey)*
participantID2 *(can be senderKey or recipientKey)*
latestMessage
我创建新聊天室的代码如下:
let promiseRoomKey = new Promise
使用smack,我将创建connection(usera),,然后通过获取聊天室列表加入聊天室。但在此之后,如果另一个用户(userb)将用户添加到新的聊天室中。但是我如何自动加入新创建的聊天室呢?
下面是获取聊天室列表和加入聊天室的代码。但在名单上我得到了所有的公共聊天室。我怎样才能得到usera是参与者/memeber的聊天室的列表?
List<DomainBareJid> mucServiceDomains = connection.mucManager.getMucServiceDomains();
//get list of chatrooms
我想:当进入300m的聊天室地理位置时,从Firebase获取数据(=以前的聊天消息)。
我的代码:
这是我的基本Firebase聊天功能:
var myDataRef = new Firebase("https://digitaldatastrategi.firebaseio.com/");
$('#messageInput').keypress(function (e) {
if (e.keyCode == 13) {
var name = $('#nameInput').val();
var text =
我将此过程设置为询问用户是否希望离开聊天室。如果是,则处理卸载,并在聊天室中写入用户离开聊天室的消息,并将聊天室占有率减少1。
这部分工作得很好。
但是,如果用户选择停留(并单击弹出窗口上的“停留”),那么它将停留在页面上,这是很好的。但是,下一次用户决定离开之前的卸载时,不会执行第二次,并且他在页面上不会收到任何问题。
那么,如果它们停留在页面上,我如何重置beforeunload,以便它可以再次执行?
下面是我的代码:
/* ask them the question about leaving */
$(window).one("beforeunload",
所以我有一个聊天室,我在html上工作,我有一个问题,聊天室是本地wifi,如果我在输入框中输入代码,清空表格或当前聊天,我想做的是。
<script>
function myFunction() {
var letter = document.getElementById("pass").value;
var text;
if (letter === "Python")
在我的网站上,我已经建立了一个聊天室,支持多个房间。当用户加入这个房间时,一个会话会被放置到数据库中,这样如果他们试图再次在另一个浏览器窗口中加入这个房间,他们就会被锁在外面。
它是这样工作的
1. Join the chatroom page
2. Connect to chatroom #main
If the user has a session in the database for #main
--- Block user from joining
else
--- Load chatroom
当聊天室关闭客户端或用户使用/quit命令终止那里的连接时,他们的所有会话都会被删除,这很