RPC框架学习+小Demo实例】的更多相关文章

一.什么是RPC协议? 全称:远程过程调度协议 效果:使消费者向调用本地方法一样调用远程服务方法,对使用者透明 目前常用:Dubbo.Thirft.Sofa.... 功能: 建立远程通信(socket)TCP/UDP 数据传递 序列化和反序列化(XML/json/Protobuf/avro/kyro/hessian) 流程图: 二.Demo思路 首先我们需要搭建两个项目,一个作为服务端提供服务,另一个作为客户端来调用服务端的接口方法. 因为客户端需要调用服务端的接口,所以我们需要客户端依赖这个通…
之前写过一篇文章<Android学习小Demo(13)Android中关于ContentObserver的使用>,在里面利用ContentOberver去监測短信URI内容的变化.我们先来回想一下,是怎样利用ContentOberver来监測短信内容的变化的. 1)要自己定义一个类,比方SmsContentObserver,继承ContentObserver,而且实现其onChange方法. 2)在onChange方法中去查询相应Uri,比方短信收件箱的内容,并将相应的记录利用Handler发…
代码地址如下:http://www.demodashi.com/demo/11595.html 弹幕小Demo实例地址,点击看效果 写在前面:尝试做了一下弹幕的实例,欢迎提出并指正问题 问题说明: Demo中页面展示如下图所示: 如果图片挂了,请看文字说明: 简单的说弹幕只完成了一个功能,从右向左缓慢移动 Demo中所涉及到的文字参数说明如下: 行走translateX= 屏幕宽度+弹幕宽度 + 70 行走时间:屏幕宽度/50(初始时间)+弹幕宽度/500 批次间隔时间:Math.min(初始时…
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin: 15px 0; } /* HEAD…
今天在处理一个EditText的时候,想着把EditText做成像一本作业本上的纸一样,每一行都可以由线条隔开,具体效果如下: 1)最开始的思路 一开始的想法是很简单的,找出每一行的高度,然后一行一行地画线不就好了吗,代码如下: viewHeight = getMeasuredHeight(); viewWidth = getMeasuredWidth(); lineHeight = getLineHeight(); int maxLines = viewHeight / lineHeight…
Android在3.0之后引入了Fragment的概念,我推測其想法可能仅仅是想更好地兼容大屏幕或者平板的开发,由于大屏幕能够展示很多其它的内容,而内容一多,逻辑有可能就乱,而利用Fragment,则能够将不同的逻辑封装进不同的Fragment中,可是展现呢,还是在同一个Activity中,在同一个屏幕上显示.而对于屏幕并不大的手机来说,假设一个页面展示的东西并不多,那么事实上将逻辑直接写在Activity,利用多个Activity实现多个页面的展示,我认为也是能够接受的,毕竟用Activity…
很早之前就有了写一个类似Windows记事本的想法,加上最近也刚好在学编译原理,所以就想把两者结合起来,于是就打算结合MarkDown,开发一款MarkDown编辑器. 不过由于我之前一直使用的是Java语言居多,对c++并不熟悉,所以一些糟糕的代码风格和规范还望各位大佬谅解! LightMD 即一款基于QT实现的markdown编辑器,当然也可以作为代码编辑器,由于时间与个人能力等原因,目前实现的功能非常有限! 主要包括: 支持语法高亮(目前支持C/C++) 支持MarkDown预览 代码行数…
1.RPC是一种技术框架的称呼,不是某种具体协议,不局限于某种协议,RPC顾名思义就是远程过程调用,其核心思想是,RPC客户端调用远程服务器上的接口完成过程调用,远程服务器把结果返回. 2.RPC的最底层仍然是socket来实现服务器之间的网络通信.但是,socket之上,在哪一层实现RPC调用,则可以有两大类,一类是基于TCP实现的,一类是基于HTTP实现的. 基于TCP实现的RPC,参见参考文档中“基于TCP和HTTP协议的RPC简单实现” 基于HTTP实现的RPC,根据数据序列化的方式分为…
在日常的App开发中,尤其是在开发生活服务的应用上,非常多时候,我们会须要联动地展现省市区的数据等,需求大概例如以下: 1)展现全部省份 2)当点击某省份的时候,在二级菜单上展现此省份以下所属的城市列表 3)选中返回,显示我们选中的城市 4)当又一次进入选择页面的时候,标识出我们上一次选中(或者说当前已经选择)的值 下图是一个类似的ListView联动选择控件. 1)首先定义一个Layout,左右各放置一个ListView,大概界面例如以下: 2)自己定义一个控件(ValuePicker),在控…
说明:本demo使用yarn代替npm指令来下载一系列依赖,有详细指令说明:使用WebStorm下Terminal来输入指令: >开始(确认已经安装node环境和yarn包管理工具) 1.新建项目文件名为vuedemo 2.yarn add init  初始化项目 >安装项目依赖 3.yarn add vue 安装最新版vue 4.yarn add webpack webpack-dev-server  安装webpack,webpack-dev-server(是一个小型的Node.js Ex…