- 博客(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
原创 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关注的人