自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 https原理详解

https的握手之前以为所有基于TCP的连接都需要三次握手,https也不例外,但是查阅了大量的资料后,发现并不是这样。http三次握手

2017-08-29 15:51:35 393

转载 传输层安全协议抓包分析之SSL/TLS

1. 协议介绍SSL/TLS是保护计算机网络通讯安全的一类加密协议,它们在传输层上给原先非安全的应用层协议提供加密保护,如非安全的HTTP协议即可被SSL/TLS保护形成安全的HTTPS协议。SSL、TLS协议其实是有所差异的,TLS协议是继承了SSL协议并写入RFC,标准化后的产物。因此,通常使用SSL来指代SSL协议和TLS协议。SSL (Secure Sock

2017-08-29 13:26:42 1707

转载 TCP的ACK原理和延迟确认机制

一、ACK定义TCP协议中,接收方成功接收到数据后,会回复一个ACK数据包,表示已经确认接收到ACK确认号前面的所有数据。ACK字段长度为32位,能表示0~2^32-1之间的值。二、ACK作用发送方在一定时间内没有收到服务端的ACK确认包后,就会重新发送TCP数据包。发送方收到了ACK,表明接收方已经接收到数据,保证了数据的可靠达到。三、ACK机制接

2017-08-23 21:59:29 2157

转载 git init 与 git init --bare 的区别

git init  和 git init –bare 的区别使用命令"git init --bare"(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只会生成一类文件:用于记录版本库历史记录的.git目录下面的文件;而不会包含实际项目源文件的拷贝;所以该版本库不能称为工作目录(working tree);如果你进入版本目录,就会发现只有.git目录下

2017-08-23 10:25:30 534

原创 Centos搭建Git服务

一、安装Git-bash-4.1#yum install git安装完成后二、服务器端创建git用户,用来管理Git服务,并未git用户设置密码-bash-4.1#id git // 查看git用户是否已存在id: git: No such user-bash-4.1# useradd git // 新增用户git-bash-4.1# passwd git

2017-08-22 17:37:26 317

转载 Chromium多进程架构简要介绍和学习计划

Chromium以多进程架构著称,它主要包含四类进程,分别是Browser进程、Render进程、GPU进程和Plugin进程。之所以要将Render进程、GPU进程和Plugin进程独立出来,是为了解决它们的不稳定性问题。也就是说,Render进程、GPU进程和Plugin进程由于不稳定而引发的Crash不会导致整个浏览器崩溃。本文就对Chromium的多进程架构进行简要介绍,以及制定学习计划。

2017-08-22 11:21:53 364

转载 Windows共享内存示例

共享内存主要是通过映射机制实现的。  Windows 下进程的地址空间在逻辑上是相互隔离的,但在物理上却是重叠的。所谓的重叠是指同一块内存区域可能被多个进程同时使用。当调用 CreateFileMapping 创建命名的内存映射文件对象时,Windows 即在物理内存申请一块指定大小的内存区域,返回文件映射对象的句柄 hMap。为了能够访问这块内存区域必须调用 MapViewOfFile 函数

2017-08-21 16:17:37 382

转载 CEF3研究之javascript集成(四

一、介绍谷歌浏览器和CEF使用V8JavaScript Engine作为内容的JavaScript实现。在浏览器中的每个窗口都有它自己在的JS上下文提供作用域和在窗口中安全的执行JS代码。CEF暴露大量JS功能集成在客户端应用程序。CEF3的Webkit和JS在单独的渲染进程中运行。在渲染进程的主线程中使用TID_RENDERER 作为唯一标识。所有V8的执行必须放置在这个线程中。

2017-08-17 17:34:20 294

转载 CEF3研究(三)

一、Off-Screen Rendering 脱屏绘制CEF的脱屏渲染并不创建源生的浏览器窗口,而是CEF提供主应用程序在无效区域和像素buffer里渲染,然后主应用程序通过鼠标、键盘和焦点事件通知CEF。脱屏渲染现在不支持图层混合加速图层混合加速。脱屏渲染要窗口浏览器一样接受相同的通知,包括生命周期通知等,为了使用脱屏渲染: 实现CefRenderHandler接口,所有方法

2017-08-17 17:07:07 920

转载 CEF研究(二)

应用程序结构每个CEF3应用程序都有一个相同的结构:提供一个入口函数以初始化CEF和运行每个子进程逻辑和CEF消息处理提供一个CefApp子类处理某个进程的回调提供一个CefClinet子类处理某个浏览进程的回调调用CefBrowserHost::CreateBrowser()函数创建浏览进程实例并使用CefLifeSpanHandler来管理浏览生命周期     2.

2017-08-17 17:04:59 535 1

转载 CEF3研究(一)

一、基本概览C++ WrapperC++Wrapper(包装类)就是将C结构包装C++类。 这是C/C++API转换层通过translator tool自动产生的。进程    CEF3用多进程运行。     主(浏览)进程 ——处理窗口创建,绘制和网络访问,会产生相同的进程作为主应用程序,及处理主应用程序的逻辑。渲染进程——处理闪烁渲染和JavaScript

2017-08-17 16:55:35 667

转载 Windows程序员需要学什么

转自:http://www.cnblogs.com/pugang/archive/2011/11/26/2264107.html经常发现有人在网上提出这样的问题,现实中也确实有不少人在经历了3-5年的Windows开发之后就开始迷失方向,每天浑浑噩噩混日子,可能是因为这个问题粒度太大,没人愿意花时间回答,希望本文可以抛砖引玉,给大家节省些时间,同时也希望园子里面的兄弟们能尽力的补充,从而使

2017-08-17 09:34:10 556

原创 Windows客户端开发技能树

2017-08-16 17:35:30 4573

原创 TCP自带心跳keepalive

今天去hj面试,面试官问了一个网络方面的问题,TCP有心跳包功能,为什么我们一般在写程序时还要在应用层加心跳功能? 以前我写的通信程序,都在应用层加了心跳功能,虽然TCP是可靠传输,某一端断开连接的话,是会通知到另一端的,但对于断电、拔网线、路由器故障这种突发情况,就无法通知到网络上的另一端了,所以需要心跳功能隔一段时间来帮我们检测当前连接是否可用。之前接触别人和自己写的代码都在应用层实现

2017-08-16 12:02:44 2178

转载 主线程退出后,子线程会不会退出

额,好吧,这是个标题党,其实所有的线程都是平级的,根本不存在主线程和子线程。下文所述为了方便,将在main函数中的线程看做主线程,其它线程看成子线程,特此说明。先考虑以下代码:        [cpp] view plain copy#include   #include   #include     void* thrd_s

2017-08-10 16:09:22 930

原创 Windows消息机制

消息送到正确的线程消息队列大家都知道在键盘输入或点击鼠标时,Windows会将这些消息事件送入系统消息队列,再由系统消息队列送入相应程序的线程队列,那么Windows是如何知道这些鼠标或键盘输入是在哪个窗口发生,又是如何将消息送入正确的线程队列的呢?当用户键盘输入时,系统会找到当前的激活窗体;而根据用户点击鼠标的坐标,系统也可以找到是在哪个窗体区域内点击了鼠标,从而拿到窗体句柄。操作系统在

2017-08-10 13:49:54 260

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除