一、所有连接的客户端

  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服务器端发送消息给客户端的几种情况的更多相关文章

  1. 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 ...

  2. Spring Boot+Socket实现与html页面的长连接,客户端给服务器端发消息,服务器给客户端轮询发送消息,附案例源码

    功能介绍 客户端给所有在线用户发送消息 客户端给指定在线用户发送消息 服务器给客户端发送消息(轮询方式) 项目搭建 项目结构图 pom.xml <?xml version="1.0&q ...

  3. java socket 一个服务器对应多个客户端,可以互相发送消息

    直接上代码,这是网上找的demo,然后自己根据需求做了一定的修改.代码可以直接运行 服务器端: package socket; import java.io.BufferedReader; impor ...

  4. 使用Pushlet将消息从服务器端推送到客户端

    使用Pushlet来实现服务器端向客户端推送信息 1.   实现方式: 有两种实现方式: 1.         通过配置文件来实现定时的从服务器端向客户端推送信息 2.         通过API主动 ...

  5. Netty客户端发送消息并同步获取结果

    客户端发送消息并同步获取结果,其实是违背Netty的设计原则的,但是有时候不得不这么做的话,那么建议进行如下的设计: 比如我们的具体用法如下: NettyRequest request = new N ...

  6. Socket通讯-C#客户端与Java服务端通讯(发送消息和文件)

    设计思路 使用websocket通信,客户端采用C#开发界面,服务端使用Java开发,最终实现Java服务端向C#客户端发送消息和文件,C#客户端实现语音广播的功能. Java服务端设计 packag ...

  7. 使用Java客户端发送消息和消费的应用

    体验链接:https://developer.aliyun.com/adc/scenario/fb1b72ee956a4068a95228066c3a40d6 实验简介 本教程将Demo演示使用jav ...

  8. PHP实现RTX发送消息提醒

    RTX是腾讯公司推出的企业级即时通信平台,大多数公司都在使用它,但是我们很多时候需要将自己系统或者产品的一些通知实时推送给RTX,这就需要用到RTX的服务端SDK,建议先去看看RTX的SDK开发文档( ...

  9. MSMQ向远程服务器发送消息----错误总结

    一:路径错误(Path)错误 如果向远程服务器发送消息,请使用格式名的形式,如: FormatName:Direct=TCP:121.0.0.1\\private$\\queueFormatName: ...

随机推荐

  1. 【已解决】checkout 配置无效的问题可以进来看下

    在日常工作中,我们经常会遇到要更新一个项目,但是由于更改了配置,需要将这些配置commit或者checkout,但是有的同学不想commit怎么办呢,只能通过checkout,那么问题又来了,改了很多 ...

  2. Linux 用户关联命令

    在执行useradd命令创建用户时,它首先读取/etc/default/useradd文件的配置参数,然后通过这些参数来配置新创建的用户,如创建名为luser的用户. [root@rhl5 -]# u ...

  3. Kafka 特性

    Kafka 特性 标签(空格分隔): Kafka 支持多个生产者 多个生成者连接Kafka来推送消息,这个和其他的消息队列功能基本上是一样的 支持多个消费者 Kafka支持多个消费者来读取同一个消息流 ...

  4. LeetCode算法题-Non-decreasing Array(Java实现)

    这是悦乐书的第283次更新,第300篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第151题(顺位题号是665).给定一个包含n个整数的数组,您的任务是通过修改最多1个元 ...

  5. Android Studio教程08-与其他app通信

    目录 1.向另外一个应用发送用户 1.1. 构建隐含Intent 1.2. 验证是否存在接收Intent的应用 1.3. 启动具有Intent的Activity 2. 获取Activity的结果响应 ...

  6. 【English】20190326

     Throughput吞吐量[ˈθruˌpʊt]  data movement数据移动 [ˈdetə ˈmuvmənt]  How to improve the Throughput for data ...

  7. An Overview of End-to-End Exactly-Once Processing in Apache Flink (with Apache Kafka, too!)

    01 Mar 2018 Piotr Nowojski (@PiotrNowojski) & Mike Winters (@wints) This post is an adaptation o ...

  8. [LeetCode] 8. 字符串转换整数 (atoi)

    题目链接:https://leetcode-cn.com/problems/string-to-integer-atoi/ 题目描述: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先 ...

  9. AI pytorch

    pytorch 参考链接: https://pytorch.org

  10. SpringCloud(6)分布式配置中心Spring Cloud Config

    1.Spring Cloud Config 简介 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件.在Spring Cloud中,有分布式配置中心组 ...