摘要:
线程的同步运行,时效性慢,异步运行,时效性快! 在c#5.0引出了async/await关键字,可以用其来进行异步编程。 async/await定义异步方法的语法如下: 1、在方法的返回类型前面加上async关键字; 2、返回类型固定为void、Task和Task<T>。返回类型建议用Task或Ta 阅读全文
摘要:
1、out关键字 2、元组 3、可以在函数中创建本地函数 4、数字分隔符 阅读全文
摘要:
首先明确需求,我现在有很多个直播间,每个直播间内需要存在一个聊天室,每个聊天室内可以存在很多人聊天,当然,只有登陆系统的会员才能聊天,没有登陆的,干看着吧! 根据以上需求,可以做出三个简单的页面:登陆页面、直播列表页面、直播和聊天室页面。 一、登陆页面 登陆页面如下所示: 好简洁,有没有? 当用户成 阅读全文
摘要:
一、随便你在哪个命名空间下新建一个Startup类,并在在该类中注册SignalR。 二、在web.config的configuration\appSettings下配置节点,value值是Startup的全类型名称 三、在前端页面中引入相关js文件,如下: 啥?找不到signalr/hubs这个文 阅读全文
摘要:
最近公司有一个边看直播边聊天的需求,直播好搞,直接用腾讯的小直播,组装推流和播放地址,把推流地址拿出去就OK,只要一推流,就可以使用播放地址观看直播,看完后通过webclient去异步下载直播的视频到服务器就OK。这个扯得有点远了,且看SignalR。 至于组件聊天室,使用的是微软的SignalR组 阅读全文
摘要:
有发布端、消费端、消息路由、消息生命周期和身份认证标识等模块参数的设置。 具体请参考地址:http://www.rabbitmq.com/extensions.html 阅读全文
摘要:
设置队列的过期时间非常简单,在声明队列时,设置x-expires参数即可。当队列的生存周期超时后,RabbitMQ server会自动将该队列删除。 代码如下: 参考文献:http://www.rabbitmq.com/ttl.html#queue-ttl 阅读全文
摘要:
在RabbitMQ中,可以设置消息的优先级,也就相当于在队列中置顶某条消息,让某个消息优先得到处理的功能。 既然是设置消息的优先级,那么就是针对生产者,也就是消息发布端。 设置消息的优先级一共有2个步骤: 1、设置队列的x-max-priority参数; 2、设置消息的Priority参数。 话不多 阅读全文
摘要:
消息应答机制是一个很重要的功能,它能保证消息队列中的某个消息是否被成功处理。如果RabbitMQ server收到Consumer端发来的应答信号,就会将Consumer刚才处理的消息删除,并发送下一个消息给Consumer去处理;如果Consumer端没有回发确认消息给RabbitMQ serve 阅读全文
摘要:
均衡调度是针对Consumer来说的。现在有两个Consumer请求同一个队列的消息。RabbitMQ会将序号为奇数的消息发给第一个Consumer,会将序号为偶数的消息发送给第二个Consumer。如果第一个Consumer处理消息的时间需要很久,而第二个Consumer很快就处理完已经收到的消息 阅读全文