comet 推送消息到客户端
2015-09-25 16:09
363 查看
weiconfig:
View Code
public class Messages { //记录所有请求的客户端 List<myAsynResult> clients = new List<myAsynResult>(); #region 实现该类的单例 private static readonly Messages _Instance = new Messages(); private Messages() { } public static Messages Instance() { return _Instance; } #endregion public void AddMessage(string content,myAsynResult asyncResult) { //当传入的内容为"-1"时,表示为建立连接请求,即为了维持一个从客户端到服务器的连接而建立的连接 //此时将该连接保存到 List<myAsynResult> clients中,待再有消息发送过来时,该连接将会被遍历,并且会将该连接输出内容后,结束该连接 if (content=="-1") { clients.Add(asyncResult); } else { //将当前请求的内容输出到客户端 asyncResult.Content = content; asyncResult.Send(null); //否则将遍历所有已缓存的client,并将当前内容输出到客户端 foreach (myAsynResult result in clients) { result.Content = content; result.Send(null); } //清空所有缓存 clients.Clear(); } } }
View Code
相关文章推荐
- 常用的linux命令
- 容易被忽视的Linux磁盘配额设置
- 黑马程序员——Swift学习笔记:闭包
- 黑马程序员——Swift学习笔记:闭包
- linux安裝mongodb
- windows UWP保持屏幕常亮或关闭
- B2C电子商务系统研发——商品SKU分析和设计(一)
- apache 修改连接数(转)
- InitPHP
- loadrunner两个函数:取参数长度和时间戳函数
- android 电容屏(三):驱动调试之驱动程序分析篇
- Javascript立即执行函数
- MT7688 SDK 环境搭建
- MT7688 编译过程中的一些错误的解决方法
- 按照特定分割符进行字符串的分割
- 如何在linux命令行无界面下,使用selenium进行自动化测试
- Mac 下搭建xampp+elgg
- mac: macVim 安装颜色主题
- silverlight中鼠标放在对象的提示事件
- 从 Bootstrap 2.x 版本升级到 3.0 版本