Broadcast:在websocket-shap函数的定义是:向WebSocket服务中的每个客户端发送数据,类似于广播的效果

如果要使用异步发送,可使用BroadcastAsync函数。

在源码中的代码片段如下:

//向WebSocket服务中的每个客户端发送string数据public void Broadcast (string data){if (_state != ServerState.Start) {var msg = "管理器的当前状态为“未启动”|The current state of the manager is not Start.";throw new InvalidOperationException (msg);}if (data == null)throw new ArgumentNullException ("data");byte[] bytes;if (!data.TryGetUTF8EncodedBytes (out bytes)) {var msg = "无法进行utf-8编码|It could not be UTF-8-encoded.";throw new ArgumentException (msg, "data");}if (bytes.LongLength <= WebSocket.FragmentLength)broadcast (Opcode.Text, bytes, null);elsebroadcast (Opcode.Text, new MemoryStream (bytes), null);}

//向WebSocket服务中的每个客户端发送stream数据
public void Broadcast (Stream stream, int length){if (_state != ServerState.Start) {var msg = "The current state of the manager is not Start.";throw new InvalidOperationException (msg);}if (stream == null)throw new ArgumentNullException ("stream");if (!stream.CanRead) {var msg = "It cannot be read.";throw new ArgumentException (msg, "stream");}if (length < 1) {var msg = "Less than 1.";throw new ArgumentException (msg, "length");}var bytes = stream.ReadBytes (length);var len = bytes.Length;if (len == 0) {var msg = "No data could be read from it.";throw new ArgumentException (msg, "stream");}if (len < length) {_log.Warn (String.Format ("Only {0} byte(s) of data could be read from the stream.",len));}if (len <= WebSocket.FragmentLength)broadcast (Opcode.Binary, bytes, null);elsebroadcast (Opcode.Binary, new MemoryStream (bytes), null);}

//c# 调用方式:private void Broadcast(string msg, string type = "1"){var data = new JsonDto() { content = msg, type = type, name = "" };//发送广播数据,每个在线的客户端都可以收到信息
            Sessions.Broadcast(Newtonsoft.Json.JsonConvert.SerializeObject(data));}

转载于:https://www.cnblogs.com/innershare/p/10839492.html

websocket-shap 函数Broadcast的使用方法相关推荐

  1. 学习使用js链接websocket服务断线重连的方法

    学习使用js链接websocket服务断线重连的方法 前言 思路 示例代码 前言 我们在是有websocekt的时候,有的时候由于某些原先websocket会断开连接,我们需要重现连接,该如何实现呢? ...

  2. php函数的默认值,php函数指定默认值方法的小例子

    php函数指定默认值方法的小例子 本节内容: php函数指定默认值 在php编程中,为自定义函数设定默认值,当用户调用该函数时,如果不给参数指定值,参数会用默认值顶替. 例1, 复制代码 代码如下: ...

  3. R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier)、输出异常值对应的统计量、p值以及Bonferonnii校正p值

    R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier).输出异常值对应的统计量.p值以及Bonferonnii校正p值 目录

  4. Button中command后面函数添加参数解决方法

    Button中command后面函数添加参数解决方法 参考文章: (1)Button中command后面函数添加参数解决方法 (2)https://www.cnblogs.com/smart-ziha ...

  5. 1.2、什么是函数?什么是方法

    1.2.什么是函数?什么是方法 在javascript中,函数和方法的区分 有助于理解js执行上下文关系,基于原型的继承方式. 什么是函数 通过function或字面量定义的function类型的变量 ...

  6. 【C 语言】字符串拷贝 ( 函数形参使用推荐方法 | 凡是涉及 修改指针指向 的操作一律创建新的 指针变量 执行 | 引入 辅助 局部 指针变量 )

    文章目录 一.函数形参使用推荐方法 二.完整代码示例 一.函数形参使用推荐方法 在函数中 , 形参 中的 指针变量 , 不建议直接使用 ; 推荐 在 函数中 , 定义 局部 指针变量 , 接收 形参中 ...

  7. STM32延时函数的四种方法:普通延时(2种)、SysTick 定时器延时(2种)

    STM32延时函数的三种方法:普通延时.SysTick 定时器延时(1.中断方式:2.非中断方式) 单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us( )和毫秒级delay_ ...

  8. [转]SAP ABAP中使用Read_Text函数读取项目文本的方法

    SAP ABAP中使用Read_Text函数读取项目文本的方法 使用Read_Text函数来读取文本内容.需要找到相关参数. 下面以采购订单为例: 双击文本,进入文本编辑器. 转到->表头. 显 ...

  9. python方法和函数的格式是完全一样的_【python基础语法】常用内置函数、关键字、方法和之间的区别(小结)...

    '''关键字: False:bool数据类型 True:bool数据类型 None:表示数据的内容为空 and:逻辑运算符:与 or:逻辑运算符:或 not:逻辑运算符:非 in:身份运算符,判断变量 ...

  10. java如何构造ajax回调参数,jQuery实现ajax回调函数带入参数的方法示例

    本文实例讲述了jQuery实现ajax回调函数带入参数的方法.分享给大家供大家参考,具体如下: 不带参数的写法: function pass(htmlId,auditingFlag){ var url ...

最新文章

  1. 如何解决现有的问题——VBA课程第五次讨论2007年12月13日
  2. matlab画二维网格贴吧,Matlab二维网格划分—预告
  3. 总结 - 沉寂了大半年后的又一次
  4. 迷你MVVM框架 avalonjs 学习教程14、事件绑定
  5. clion 查看内容窗口_CLion精华笔记
  6. 启明去端分享| ESP32-S3如何实现tcp_client和tcp_server9-07
  7. 魔兽世界---屠夫(Just a Hook)
  8. 如何解决JAVA环境变量配好后,重启电脑又失效的问题
  9. php while for 性能,php的foreach,while,for的性能比较
  10. 【最短路】【图论】【Floyed】牛的旅行(ssl 1119/luogu 1522)
  11. swot分析法案例_(附数据集)SWOT分析实战案例!
  12. linux桌面xfce美化_使用Xfce Linux桌面环境的8个理由
  13. yum安装nginx,并配置静态资源服务器
  14. LeetCode 669. 修剪二叉搜索树(Trim a Binary Search Tree)
  15. 十亿级同步,百亿级调用,千亿级访问量的开放技术平台如何炼成?
  16. Globle Get 多线程下载系统
  17. TCP粘包/拆包--利用LineBasedFrameDecoder解决TCP粘包问题
  18. HTTP协议,到底是什么鬼?
  19. 乌尔都语简介和Unicode由来
  20. 巧妙利用工厂方法+反射+配置类解决多个同一方法不同实现

热门文章

  1. django form 介绍
  2. Spring AOP前置通知和后置通知
  3. 【VMware虚拟机】【克隆问题】在VMware 9.0下克隆CentOS6.5虚拟机无法识别eth网卡
  4. 手贱拆笔记本清灰记录
  5. 如何动/静 态 两种方式修改Static控件的颜色
  6. ORACLE多表关联的update语句
  7. background的认识(二)
  8. 【IDEA】报错:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除
  9. Sass含中文目录编译报错
  10. SqlServer2005海量数据存储过程分页(上)