gpt4 book ai didi

c# - 如何使用 SignalR 加入群组

转载 作者:可可西里 更新时间:2023-11-01 01:29:03 26 4
gpt4 key购买 nike

我刚开始使用 SignalR(今天开始),向所有连接的客户端发送消息非常简单,但现在我只想发送到一个组。我找不到关于如何在客户端加入的简单文档。如果有人可以提供帮助,我怎样才能简单地加入 javascript 方面的小组。感谢您的帮助。

public class EventHub : Hub
{
public void SendNewMedia(MediaInfoViewModel model,Guid eventId)
{
Clients.Group(eventId.ToString()).setupmedia(model);
}
}
//Controller that is sending client new data
var eventHub = GlobalHost.ConnectionManager.GetHubContext<EventHub>();
var result = eventHub.Clients.Group(eventId.ToString()).setupmedia(eventViewer);

//Finally the javascript. Not sure how to setup just for a group
$(function () {
var event = $.connection.eventHub;
event.client.setupmedia = function (newMedia) {

$('#photolist').prepend('<li><img src="' + newMedia.MediaUrl + '" class="img-polaroid span2"/></li>');
};
$.connection.hub.start(function() {
event.server.create(eventID);//I know this is wrong but not sure how to connect
}).done(function () {
alert('conntected. Ready to retrieve data!');
});
});

最佳答案

你不能。如果您可以从 javascript 加入一个组,那么任何人都可以使用您的代码加入任何破坏安全性的组。如果您确实需要这样做 - 在服务器端创建一个方法,将组名作为参数并将客户端添加到组中。

public void JoinGroup(string groupName)
{
this.Groups.Add(this.Context.ConnectionId, groupName);
}

然后,像那样从JS中调用它

eventHub.server.joinGroup("my-awsm-group");

关于c# - 如何使用 SignalR 加入群组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17309745/

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