SignarL服务器端发送消息给客户端的几种情况
一、所有连接的客户端
Clients.All.addContosoChatMessageToPage(name, message);
二、只发送给呼叫的客户端(即触发者)
Clients.Caller.addContosoChatMessageToPage(name, message);
三、除了触发者之外的所有客户端
Clients.Others.addContosoChatMessageToPage(name, message);
四、由连接ID标识的特定客户端
Clients.Client(Context.ConnectionId).addContosoChatMessageToPage(name, message);
public void SendToSingle(string toConnectionID, string fromName, string toName, string message)
{
Clients.Client(toConnectionID).SendToSingleClient("<li class='green_li'>[" + fromName + "]对你说:" + message + " - " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "</li>");
Clients.Client(Context.ConnectionId).SendFromSingleClient("<li class='green_li'>你对[" + toName + "]说:" + message + " - " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "</li>");
}
五、除了指定客户端之外的所有连接的客户端,由连接ID标识
Clients.AllExcept(connectionId1, connectionId2).addContosoChatMessageToPage(name, message);
public void SystemNotice(string connectionID, string username, string type)
{
if (type.Equals("1"))
{
Clients.AllExcept(connectionID).SystemNoticeClient("<li class='red_li'>系统消息:"
+ username + " 加入聊天室 - " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "</li>");
}
else
{
Clients.AllExcept(connectionID).SystemNoticeClient("<li class='red_li'>系统消息:"
+ username + " 退出了聊天室 - " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "</li>");
}
}
六、在指定的组中的所有连接的客户端
Clients.Group(groupName).addContosoChatMessageToPage(name, message);
七、指定组中除指定客户端外的所有已连接客户端,由连接ID标识
Clients.Group(groupName, connectionId1, connectionId2).addContosoChatMessageToPage(name, message);
八、指定组中除呼叫客户端外的所有已连接客户端
Clients.OthersInGroup(groupName).addContosoChatMessageToPage(name, message);
九、由userId标识的特定用户
Clients.User(userid).addContosoChatMessageToPage(name, message);
(默认情况下,这是IPrincipal.Identity.Name可以通过向全局主机注册IUserIdProvider的实现来更改的。)
十、连接ID列表中的所有客户端和组
Clients.Clients(ConnectionIds).broadcastMessage(name, message);
十一、组ID列表中的所有组
Clients.Groups(GroupIds).broadcastMessage(name, message);
十二、用户名标识的客户端
Clients.Client(username).broadcastMessage(name, message);
十三、用户名列表对应的所有客户端(在SignalR 2.1中引入)
Clients.Users(new string[] { "myUser", "myUser2" }).broadcastMessage(name, message);
SignarL服务器端发送消息给客户端的几种情况的更多相关文章
- Android学习笔记--通过wifi向服务器端发送数据
(转自http://www.cnblogs.com/zhxiang/archive/2011/07/21/2112825.html) 客户端程序: 1 2 3 4 5 6 7 8 9 10 11 12 ...
- Spring Boot+Socket实现与html页面的长连接,客户端给服务器端发消息,服务器给客户端轮询发送消息,附案例源码
功能介绍 客户端给所有在线用户发送消息 客户端给指定在线用户发送消息 服务器给客户端发送消息(轮询方式) 项目搭建 项目结构图 pom.xml <?xml version="1.0&q ...
- java socket 一个服务器对应多个客户端,可以互相发送消息
直接上代码,这是网上找的demo,然后自己根据需求做了一定的修改.代码可以直接运行 服务器端: package socket; import java.io.BufferedReader; impor ...
- 使用Pushlet将消息从服务器端推送到客户端
使用Pushlet来实现服务器端向客户端推送信息 1. 实现方式: 有两种实现方式: 1. 通过配置文件来实现定时的从服务器端向客户端推送信息 2. 通过API主动 ...
- Netty客户端发送消息并同步获取结果
客户端发送消息并同步获取结果,其实是违背Netty的设计原则的,但是有时候不得不这么做的话,那么建议进行如下的设计: 比如我们的具体用法如下: NettyRequest request = new N ...
- Socket通讯-C#客户端与Java服务端通讯(发送消息和文件)
设计思路 使用websocket通信,客户端采用C#开发界面,服务端使用Java开发,最终实现Java服务端向C#客户端发送消息和文件,C#客户端实现语音广播的功能. Java服务端设计 packag ...
- 使用Java客户端发送消息和消费的应用
体验链接:https://developer.aliyun.com/adc/scenario/fb1b72ee956a4068a95228066c3a40d6 实验简介 本教程将Demo演示使用jav ...
- PHP实现RTX发送消息提醒
RTX是腾讯公司推出的企业级即时通信平台,大多数公司都在使用它,但是我们很多时候需要将自己系统或者产品的一些通知实时推送给RTX,这就需要用到RTX的服务端SDK,建议先去看看RTX的SDK开发文档( ...
- MSMQ向远程服务器发送消息----错误总结
一:路径错误(Path)错误 如果向远程服务器发送消息,请使用格式名的形式,如: FormatName:Direct=TCP:121.0.0.1\\private$\\queueFormatName: ...
随机推荐
- logback日志配置
第一步:加入jar包.要加入slf4j和logback的jar包,slf4j需要的jar包为slf4j-api,logback需要2个jar包(logback-classic.logback-core ...
- Mysql中联合索引的最左匹配原则
在Mysql建立多列索引(联合索引)有最左前缀的原则,即最左优先. 如果我们建立了一个2列的联合索引(col1,col2),实际上已经建立了两个联合索引(col1).(col1,col2); 如果有一 ...
- C#基础学习第一天
..net与C# .NET是一个框架.一种平台.一种技术 C#是一种编程语言,可以开发基于.NET平台的应用 .NET能干什么 Winform ASP.NET Wwb wphone Unity3D游戏 ...
- 设置TIMESTAMP和DATETIME的自动初始化及自动更新
最近有一个关于MySQL版本升级的事,涉及到一些关于时间类型的细节问题需要查明,因此到官网找到相关文章,翻出来比较方便自己理解,博客这里也贴一下. 参考官网网址: https://dev.mysql. ...
- drf 教程
1, 序列化 Serialization 创建一个新环境 在做其他事之前,我们会用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在工作的其他项目完全隔离. virtualenv ...
- spring3:多数据源配置使用
0. properties ####################################mysql########################################### d ...
- windows 与 Centos7 共享文件方法
转自:https://www.cnblogs.com/zejin2008/p/7144514.html 先安装包依赖: yum -y install kernel-devel-$(uname -r) ...
- 6.1Python数据处理篇之pandas学习系列(一)认识pandas
目录 目录 (一)介绍与测试 2.作用: 3.导入的格式 4.小测试 (二)数据类型 1.两种重要的数据类型 2.pandas与numpy的比较 目录 (一)介绍与测试 号称处理数据与分析数据最好的第 ...
- PHP跨域jsonp方式
<?php header('Access-Control-Allow-Origin:*');//注意!跨域要加这个头 上面那个没有 $arr = array ('a'=>1,'b'=> ...
- echarts之legend-改变图例的图标为自定义图片
legend:{ show:true, orient:'horizontal', borderColor:'#df3434', borderWidth:2, data:[ { name:'蒸发量', ...