RPC,全称为Remote Procedure Call(远程过程调用).通俗一点讲就是在本地调用远程服务器上的功能.实现远程调用至少需要满足以下几个条件: 1.网络通信 2.序列化与反序列化 3.反射 远程通信是远程调用的前题,只有经过序列化后的数据才能在网络上传输,传输到服务器端后需要反序列化成对象,然后通过反射机制调用服务器上客户端指定的服务,再将结果返回给客户端,用一张图表示: 服务器每收到一次客户端的请求,就启动一个线程处理,调用具体的服务对象相应的方法,并将返回结果返回给客户端. 基…
今天帮兄弟项目搞了一个获取客户端真实IP的问题,网上这种问题很多,但是对于我们的场景都不太合用,现把我的解决方案share给大家,如有问题,请及时指出. 场景: 在请求到达后端服务之前,会经过层层代理的转发. 一般的解决方案: proxy_set_header            Host $host; proxy_set_header            X-real-ip $remote_addr; proxy_set_header            X-Forwarded-For…
一般我们调试的 js/css 文件都是编译压缩后的,一旦出错很难定位原始的位置,gulp-sourcemaps 的出现帮助我们解决了这个问题. 首先我们看下目录结构: css js a.js b.js sass a.scss b.scss index.htm gulpfile.js package.json 我们的目标是 sass 文件夹中的两个文件合并压缩后,放入 css 文件夹中(命名为 main.min.css),js 文件夹中的两个文件合并压缩后,生成新的文件放在 js 文件夹中(命名为…
一  PPTP概述 PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网,可以通过密码验证协议,可扩展认证协议等方法增强安全性.远程用户可以通过ISP.直接连接Internet或者其他网络安全地访问企业网: 它能够将PPP(点到点协议)帧封装成IP数据包,以便能够在基于IP的互联网上进行传输.PPTP使用TCP是实现隧道的创建.维护与终止,并使用GRE(通用路由封装)将PP…
前言 在使用资源前,我们需要做一些准备工作保证资源能正常使用,在使用完资源后,我们需要做一些扫尾工作保证资源没有泄露,这就是构造与析构了,这和编程语言是无关的,而是使用资源的一种方式.C++只不过是把这个过程内置到了语言本身,规定了构造函数和析构函数的形式以及执行时机. 编译器的无私奉献 下面这段代码很好理解 #include <iostream> class A { public: A() { std::cout << "A\n"; } ~A() { std:…
一  PPTP概述   PPTP(Point to Point Tunneling Protocol),即点对点隧道协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网,可以通过密码验证协议,可扩展认证协议等方法增强安全性.远程用户可以通过ISP.直接连接Internet或者其他网络安全地访问企业网: 它能够将PPP(点到点协议)帧封装成IP数据包,以便能够在基于IP的互联网上进行传输.PPTP使用TCP是实现隧道的创建.维护与终止,并使用GRE(通用路由封装)将…
有朋友在使用std::array时发现一个奇怪的问题:当元素类型是复合类型时,编译通不过. struct S { int x; int y; }; int main() { int a1[3]{1, 2, 3}; // 简单类型,原生数组 std::array<int, 3> a2{1, 2, 3}; // 简单类型,std::array S a3[3]{{1, 2}, {3, 4}, {5, 6}}; // 复合类型,原生数组 std::array<S, 3> a4{{1, 2}…
参考文档:http://tieba.baidu.com/p/5174054662 最近想尝试在CentOS7上搭建SVN服务.遇到的问题大致如题,我这边再详细描述一下. 虚拟机:VMware® Workstation 12 Pro(12.5.6 build-5528349)虚拟机系统:CentOS 7SVN:1.7.14 (r1542130) 使用的yum安装 设置开机自启的方法: 在/etc/rc.d/rc.local 文件中添加 svnserve -d --listen-port 3690…
1.概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层. 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧{IP包{TCP或UDP包{Data}}}     不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame).数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后…
http://git.oschina.net/rushmore/zbus http://my.oschina.net/sbz/blog  Readme.md 18.02 KB ZBUS = MQ + RPC zbus解决的问题域 zbus特点 zbus启动 zbus实现消息队列 zbus实现RPC zbus实现异构服务代理--服务总线 zbus底层编程扩展 zbus高可用模式 zbus性能测试数据 zbus解决的问题域 消息队列 -- 应用解耦 分布式RPC -- 远程方法调用 异构服务代理 -…