asp.net – SignalR(Hub)可以发送除信号制作者之外的消息吗?
发布时间:2020-12-16 04:22:16 所属栏目:asp.Net 来源:网络整理
导读:我正在学习SingalR( https://github.com/SignalR/SignalR). 我真的想向所有连接发送消息,除了发生事件的人. 例如, 在聊天应用程序中,有三个客户端(A,B,C). 客户端A键入消息“Hello”并提交clikc. Clients.addMessage(数据);发送“Hello”给All Cleint(包括提
我正在学习SingalR(
https://github.com/SignalR/SignalR).
我真的想向所有连接发送消息,除了发生事件的人. 例如, 在聊天应用程序中,有三个客户端(A,B,C). 客户端A键入消息“Hello”并提交clikc. Clients.addMessage(数据);发送“Hello”给All Cleint(包括提示A) 我想发送“Hello”只有客户B和C. 我怎样才能实现它? // I think this can get all Clients,right? var clients = Hub.GetClients<Chat>(); 解决方法
今天无法在服务器上过滤消息,但您可以从客户端阻止消息给呼叫者.如果你看一下signalr上的一些样本,你会看到他们在一个方法(通常称为join)中为每个客户端分配一个生成的id给客户端.每当您从集线器调用方法时,传递调用客户端的id,然后在客户端进行检查以确保客户端的ID与调用者的ID不同.例如
public class Chat : Hub { public void Join() { // Assign the caller and id Caller.id = Guid.NewGuid().ToString(); } public void DoSomething() { // Pass the caller's id back to the client along with any extra data Clients.doIt(Caller.id,"value"); } } 客户端 var chat = $.connection.chat; chat.doIt = function(id,value) { if(chat.id === id) { // The id is the same so do nothing return; } // Otherwise do it! alert(value); }; 希望有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 显示modelstate错误
- ASP.NET MVC3中的HTML反而不是JSON的IIS响应
- asp.net-core-mvc – MVC6路由到单页面应用程序而不会丢失4
- 从ASP.NET中的BarCode下面删除文本(C#)
- asp.net-mvc – ASP.Net MVC 4.在单独的程序集中路由控制器
- 如何在加载数据时创建页面覆盖 – asp.net/jquery/blockui
- asp.net-mvc-4 – .Net MVC4显示错误的视图(.mobile问题)
- asp.net-mvc – 用于加密的MVC AntiForgeryToken机器密钥
- asp.net – 在应用程序级别之外注册为allowDefinition =’M
- asp.net-mvc – EF上下文管理
推荐文章
站长推荐
热点阅读