最近项目可能需要用到rabbitmq作为中间件,负责消息转发消息队列的理解:异步去发送一些消息,这些消息都会存到一个队列里面,进行顺序处理,但是对于客户来说,他并不需要等待这个处理过程,他可以去做其他的事情,等到消息队列里面处理到该客户的消息的时候,才会给客户返回相关的回应。适用场景:例如,某个网站 ...
分类:
其他好文 时间:
2017-04-06 19:31:03
阅读次数:
157
消息转发的应用场景在现实中的应用非常普遍,我们常用的IM工具也是其中之一;现有很多云平台也提供了这种基础服务,可以让APP更容易集成相关功能而不必投入相应的开发成本。对于实现这样一个简单功能并不复杂,对于现有的技术来说用.net提个通讯服务器支持几十W用户相信也不是件困难的事情;但如果考虑可用性和更 ...
分类:
其他好文 时间:
2017-03-09 13:42:44
阅读次数:
217
恢复内容开始 百度云测 在公司开发中一般打印日志用Log类,通常会封装一个LogUtils,通过开关来控制日志信息的打印。 /data/data: context.getFileDir().getPath(); 是一个应用程序的私有目录,只有当前应用程序有权限访问读写,其他应用无权限访问。一些安全性 ...
分类:
移动开发 时间:
2017-03-02 16:39:26
阅读次数:
215
最近在看消息转发的资料,发现大部分都是理论知识,很少有完整的代码。现在以代码的形式形象的解释一下: 用Xcode创建一个工程 1.正常方法调用 创建一个类Person 代码如下 Person.h代码如下: Person.m代码如下: ViewController.m代码如下: 运行工程结果为: 结果 ...
分类:
移动开发 时间:
2017-03-02 00:44:30
阅读次数:
204
之前所说的消息转发虽然功能强大,但需要我们了解并且能更改对应类的源代码,因为我们需要实现自己的转发逻辑。当我们无法触碰到某个类的源代码,却想更改这个类某个方法的实现时,该怎么办呢?可能继承类并重写方法是一种想法,但是有时无法达到目的。这里介绍的是 Method Swizzling ,它通过重新映射方 ...
分类:
其他好文 时间:
2017-03-01 14:12:31
阅读次数:
208
runtime的消息机制前面提到过编译器最终会把我们的消息发送转化为函数调用
消息发送 [object sendMassage]
首先编译器会在运行时将上面的例子转化为objc_msgSend(ob...
分类:
其他好文 时间:
2017-02-02 04:50:14
阅读次数:
284
在与多个Message queue关联后,Exchange中就会存在一个路由表,这个表中存储着每个Message queue所需要消息的限制条件。Exchange就会检查它接受到的每个Message的Header及Body信息,业决定将Message路由到哪个queue中去。Message的Head ...
分类:
其他好文 时间:
2017-01-24 21:49:49
阅读次数:
234
Objective-C语言是一门动态语言,他将很多静态语言在编译和链接期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码更具有灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一下方法的实现等。 这种特性意味着OC不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。对于OC ...
分类:
移动开发 时间:
2016-12-20 14:08:34
阅读次数:
295
JDK动态代理 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托 ...
分类:
编程语言 时间:
2016-11-26 20:23:12
阅读次数:
240
//创建新的tcp服务器var net = require('net');var chatServer = net.createServer()chatServer.on('connection',function(client){ client.write('Hi\n'); client.writ ...
分类:
其他好文 时间:
2016-11-14 01:10:42
阅读次数:
209