主要以OSChina Android客户端源码中Notice的轮询机制进行解读。一、基础知识
一般IM(即使通讯)的实现有两种方式:推送和轮询,推送就是服务器主动向客户端发送消息,用特定的协议比如XMPP、MQTT。另一种是轮询,实时性并不高,而且比较耗电。这种有分为两种情况:一段时间发起一次查询和死循环进行查询。
参考: http://jcodecraeer.com/a/anzhuokaifa/...
分类:
其他好文 时间:
2015-07-20 19:37:44
阅读次数:
133
最近忙于重构项目的架构设计,没有时间发博客,也没有时间回复邮件及博文评论,忘各位见谅:
今天先发布架构设计图,同样没有时间写相关的介绍也没有时间回复评论,所以就不发在首页,希望给看到的朋友一些参考,同时也希望大家给点意见!...
最近接手到一个已经成型的项目,然后我们的任务就是对它进行重构,这个项目是一个功能很齐全的WPF视频播放器(附带很多其他功能),在仔细研究了项目的背景和架构以后,初步做出了一下的重构方案:
目前现状:
虽然整个系统做得很漂亮,代码也写得不错,但仍有以下不足:
架构有待改善。虽然看似MVC架构,却没有遵循MVC的模式,里面逻辑和UI耦合很高,没有清晰的规律。没有充分用到WPF的特性。...
分类:
其他好文 时间:
2015-07-20 19:39:19
阅读次数:
162
这个小型项目有点曲折,始于2006年,当时由于没有总结经验,所以后来又做了N个类似的项目,鉴于此,记下总结。
系统软件架构概括
系统采用了B/S结构, 多层运行模式,同时适用于Intranet/Internet。浏览器为第一层,作为系统的应用界面;中间层为以WCF为载体的SOA;应用逻辑服务为第三层;数据链接为第四层,作为系统的数据存取服务。此架构无须安装客户端软件,便于软件的分发和维...
分类:
其他好文 时间:
2015-07-20 19:40:15
阅读次数:
113
从google maps的脚本里扒了段代码,没准啥时会用上。大家一块看看是怎么算的。
private const double EARTH_RADIUS = 6378.137;
private static double rad(double d)
{
return d * Math.PI / 180.0;
}
public static double GetDistance(doubl...
分类:
编程语言 时间:
2015-07-20 19:39:47
阅读次数:
170
需要使用第三方工具#import "GDataXMLNode.h"@property (nonatomic, strong) NSMutableArray *xmlDOMArray;- (IBAction)XMLDOMButtonDidClicked:(UIButton *)sender {
// 1、拿到 xml 文件的路径
NSString *path = [[NSBundle...
分类:
其他好文 时间:
2015-07-20 19:39:43
阅读次数:
89
1 layoutSubviews 是UiView 的属性方法 调用情况,以下简称 ls 方法
(a) init 方法不会调用 initwithFrame 会调用(frame 不为CGRectZero)
例如:
_myView = [[MyView alloc] initWithFrame:CGRectMake(20, 20, 100, 100)];// 调用
_myVi...
分类:
其他好文 时间:
2015-07-20 19:38:47
阅读次数:
96
着色程序分为两类:vertex shader program(顶点着色程序)和fragment shader program(片断着色程序)。为了清楚的解释顶点着色和片断着色的含义,我们首先从阐述GPU上的两个组件:Programmable Vertex Processor(可编程顶点处理器,又称为顶点着色器)和 Programmable Fragment Processor(可编程片断处理器,又...
分类:
其他好文 时间:
2015-07-20 19:36:47
阅读次数:
153
一、Servlet+JSP+JavaBean开发模式(MVC)介绍
Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。
这里以一个最常用的用户登录注册程序...
分类:
编程语言 时间:
2015-07-20 19:37:58
阅读次数:
213
给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积。例如arr=[-2.5,4,0,3,0.5,8,-1],子数组[3,0.5,8]累乘可以获得最大的乘积12,所以返回12。
解析:此题可以运用动态规划解决
设f[i]表示以i为结尾的最大值,g[i]表示以i结尾的最小值,那么
f[i+1] = max{f[i]*arr[i+1], g[i]...
分类:
编程语言 时间:
2015-07-20 19:36:15
阅读次数:
114
大白2,P150页#include
#include
#include
#include
#include
const int N = 100009;
struct Node
{
bool have_value;
int v;
Node *left,*right;
Node(): ha...
分类:
其他好文 时间:
2015-07-20 19:39:12
阅读次数:
132
- (IBAction)jsonSystemButtonDidClicked:(UIButton *)sender { self.JSONArray = [NSMutableArray array]; // 1、拿到 json 文件的路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"student" ofTy...
分类:
Web程序 时间:
2015-07-20 19:37:50
阅读次数:
98
div速度 运动:
代码如下:
速度 运动
body{paddiing:0;margin:0}
#div1{width:200px; height:200px;background-color:red; position:relative;left:-200px; top:0;}
#div1 span{width:20px;height:50px; background-color:bl...
分类:
Web程序 时间:
2015-07-20 19:36:54
阅读次数:
123
//3中天气前一天天气为i转为第二天天气为j的概率为p[i][j]
//问第一天天气为i,n天后天气为j的概率
//dp[i][j][k]在第一天天气为j的情况下第n天的天气为j的概率
//dp[i][j][k] += dp[i-1][j][s]*dp[1][s][k] ;
#include
#include
#include
using namespace std ;
const...
分类:
其他好文 时间:
2015-07-20 19:37:50
阅读次数:
100
题目
某寺庙里7个和尚:轮流挑水,为了和其他任务不能冲突,各人将有空天数列出如下表:
和尚1: 星期二,四;
和尚2: 星期一,六;
和尚3: 星期三,日;
和尚4: 星期五;
和尚5: 星期一,四,六;
和尚6: 星期二,五;
和尚7: 星期三,六,日;
请将所有合理的挑水时间安排表
思路 回朔法求解
回朔法即每进行一步,都试图在当前部分解的基础上扩大该部分解。扩大时,首先...
分类:
其他好文 时间:
2015-07-20 19:37:40
阅读次数:
131
部分链表操作总结#include
#include
using namespace std;// definition of Node
struct Node
{
int val;
Node *next;
Node(int x) : val(x), next(NULL){}
};// create a linklist with n...
分类:
其他好文 时间:
2015-07-20 19:35:54
阅读次数:
69
算菜价
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 16818 Accepted Submission(s): 9145
Problem Description
妈妈每天都要出去买菜,但是回来后,兜里...
分类:
其他好文 时间:
2015-07-20 19:36:12
阅读次数:
153