gpt4 book ai didi

asp.net-mvc-3 - SignalR 多个聊天室

转载 作者:行者123 更新时间:2023-12-02 01:55:38 25 4
gpt4 key购买 nike

我计划创建一个聊天应用程序,并且我已阅读 SignalR是最好的应用技术之一。

我见过这样的例子,但他们只有一个聊天室。

我想要多个聊天室。用户只需选择其中一个聊天室。

虽然我是初学者,但我认为在 SignalR 中创建单个聊天室是这样的:

<script type="text/javascript">
$(function () {
var connection = $.connection.communicator;
connection.receive = function (from, msg) {
$("#chatWindow").append("<li>" + from + ": " + msg + "</li>");
};
$.connection.hub.start();

$("#btnSend").click(function () {
connection.broadcast($("#txtName").val(), $("#txtMsg").val());
});
});
</script>

var 连接=单个聊天室(我不确定)

那么如果我有很多连接(例如,connection1、connection2、connection3....)我可以拥有多个聊天室吗?

我再次不确定这是否正确...请帮助我如何实现多个聊天室...

(PS:我见过JABBR,但它的代码让我流鼻血。你能提供简单的例子吗?)

最佳答案

您不必打开多个连接,只需打开一个连接,而是使用Group:

public class MyHub : Hub, IDisconnect
{
public Task Join()
{
return Groups.Add(Context.ConnectionId, "foo");
}

public Task Send(string message)
{
return Clients["foo"].addMessage(message);
}

public Task Disconnect()
{
return Clients["foo"].leave(Context.ConnectionId);
}
}

一个群组就是一个房间,所以每次一个用户加入一个房间时,您只需将该用户添加到该房间的群组中,当您想要广播消息时,只需将消息发送给该群组中的客户端即可。

更多详情: https://github.com/SignalR/SignalR/wiki/Hubs

关于asp.net-mvc-3 - SignalR 多个聊天室,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11175173/

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