摘要: 对于使用RabbitMQ执行Command的情况,有时候需要有返回值信息。此时相当于client发布一个command后,并侦听返回结果的queue,server接收并处理,将处理结果发布到client侦听的queue中。简单实现如下:1. Client端private static void RPCResponse(){ using (IConnection conn = CreateMQConnection()) { using (IModel ch = conn.CreateModel()) { while (true) ... 阅读全文
posted @ 2013-08-02 17:50 swzhou 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 1.采用发布订阅模式消息发布方:public static void SendCommand_Fanout(){ while (true) { JObject joMessage = new JObject(); joMessage.Add("to", "all"); joMessage.Add("from", "zsw"); joMessage.Add("type", "Fanout"); joMessage.Add("message", "h 阅读全文
posted @ 2013-08-02 13:55 swzhou 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 1 安装RabbitMQRabbitMQ是采用 Erlang 实现的工业级的消息队列(MQ)服务器。安装RabbitMQ前需要安装Erlang环境。然后下载安装RabbitMQ。erlang下载地址:http://erlang.org/download.htmlRabbitMQ下载地址:http://www.rabbitmq.com/dotnet.html2 RabbitMQ配置2.1 启动RabbitMQ Server2.2 创建虚拟主机显示虚拟主机:rabbitmqctl list_vhosts2.3 添加用户添加用户:rabbitmqctl add_user [name] [passwo 阅读全文
posted @ 2013-08-02 13:11 swzhou 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 1 什么是RabbitMQRabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License开源协议。采用 Erlang 实现的工业级的消息队列(MQ)服务器。AMQP(高级消息队列协议) 是一个异步消息传递所使用的应用层协议规范,作为线路层协议,而不是API(例如JMS),AMQP 客户端能够无视消息的来源任意发送和接受信息。AMQP的原始用途只是为金融界提供一个可以彼此协作的消息协议,而现在的目标则是为通用消息队列架构提供通用构建工具。因此,面向消息的中间件 (MOM)系统,例如发布/订阅队列,没有作为基本元素实现。反而通过发送简 阅读全文
posted @ 2013-08-02 12:47 swzhou 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 序:本文继续介绍超级狗的二次开发流程。1. 特征"特征"是指程序中可被识别的功能组件,可以是一个可执行文件、软件模块、.NET 方法或者打印、保存、绘制等特定功能。特征被分配一个唯一的标识号码,称作特征 ID。使用超级狗许可设计工具可以编辑特征信息。产品或业务经理需要准备产品计划。产品计划的准备包括以下方面:确定功能组件 分析所有应用程序,确定可被指定许可类型的功能组件。定义软件产品 把各功能组件 ( 特征 ) 组合成可销售的软件产品。指定许可类型 分别对各功能组件 ( 特征 ) 指定许可类型。超级狗提供了以下四种许可类型:永久:可以永久使用,没有时间和次数的限制。执行次数 阅读全文
posted @ 2013-08-01 17:59 swzhou 阅读(3227) 评论(2) 推荐(1) 编辑
摘要: 在软件源代码中调用超级狗 Licensing API 函数,使被保护软件在运行中访问超级狗内的特征或数据文件,将超级狗与被保护的软件绑定。只有当被保护软件能够访问超级狗,超级狗发出的响应被软件验证正确无误时,被保护软件才能正常工作。当被保护软件发现超级狗不存在或返回的信息不正确时,被保护软件应停止运行。 阅读全文
posted @ 2013-08-01 16:58 swzhou 阅读(1672) 评论(1) 推荐(1) 编辑
摘要: 一、类定义class Account attr_accessor :number @@count = 0 def initialize(number, name, balance) @number = number @name = name @balance = balance @@count = @@count + 1; end def Account.count @@count end def Account.count=(value) @@count = value end def name @name end def name=(value) @name = value end def 阅读全文
posted @ 2013-05-29 22:25 swzhou 阅读(216) 评论(0) 推荐(0) 编辑
摘要: def fib(n) (n==1 || n==2) ? 1 : fib(n-1)+fib(n-2) end puts fib(7) #13 阅读全文
posted @ 2013-05-28 21:33 swzhou 阅读(1477) 评论(0) 推荐(0) 编辑
摘要: 不同于C#中的DateTime,在ruby中日期和时间分别对应了Date和Time两个类。1.1 日期require "date"date = Date.new(2013,5,28)date = date-1 #昨天date = date >> 1 #下月puts date.leap? #闰年判断puts date.to_sputs "%s_%s_%s" % [date.year, date.month, date.day]1.2 时间require "date"time = Time.now.strftime(" 阅读全文
posted @ 2013-05-28 14:53 swzhou 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1.1 条件判断1.1.1 if条件语句(1) 多行使用if..end; if..else..end; if..elsif..else..end;print "输入分数:"score = gets.to_iif score >= 90 puts "得A"elsif score >= 80 and score < 90 puts "得B"elsif score >= 70 and score < 80 puts "得C"elsif score >= 60 and score < 阅读全文
posted @ 2013-05-24 16:28 swzhou 阅读(265) 评论(0) 推荐(0) 编辑