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: ...
随机推荐
- Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)
本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...
- 手机Soc芯片简介
手机SoC(System On a Chip,在一个芯片里面集成CPU.GPU.SP.ISP.RAM内存.Wi-Fi控制器.基带芯片以及音频芯片等)芯片(基于arm架构指令集) 高通骁龙(Snapdr ...
- [20190415]10g下那些latch是共享的.txt
[20190415]10g下那些latch是共享的.txt http://andreynikolaev.wordpress.com/2010/11/23/shared-latches-by-oracl ...
- 前后端分离djangorestframework—— 接入支付宝支付平台
支付宝 简介 支付宝是什么不用多说了,本次教程适合初学者 前提准备 话不多说,干就完了 1.注册开发者账号,设置公钥私钥 首先进入支付宝开发者平台:传送门 ,有账号直接登录,没账号用你平时用来付款收钱 ...
- git取消跟踪已版本控制的文件
git 不再追踪文件改动 git update-index --assume-unchanged filePath git 恢复追踪文件改动 git update-index —no-assume-u ...
- 基于 PHP 的数据爬取(QueryList)
基于PHP的数据爬取 官方网站站点 简单. 灵活.强大的PHP采集工具,让采集更简单一点. 简介: QueryList使用jQuery选择器来做采集,让你告别复杂的正则表达式:QueryList具有j ...
- TCP/IP及内核参数优化调优
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等.如下配置是写在sysctl.conf ...
- slice()和splice()区别
1.slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素. 注意:该方法不会改变原数组,而是返回一个子数组,如果想删除 ...
- 使用springMVC时的web.xml配置文件
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " ...
- C#模板设计模式使用和学习心得
模板设计模式: 模版方法模式由一个抽象类和一个(或一组)实现类通过继承结构组成,抽象类中的方法分为三种: 抽象方法:父类中只声明但不加以实现,而是定义好规范,然后由它的子类去实现. 模版方法:由抽象类 ...