随笔分类 -  网络通讯

RPC原理探究
摘要:1. 接口及实现类 2. 服务消费者Consumer类的部分关键代码: 3. 服务提供者Provider类的部分关键代码: 服务提供端实现将服务实例化好后放在services这个Map中,通过while循环,不断地接收新来的请求,得到所需要的参数,包括接口名称,方法名称,参数类型和参数,通过java 阅读全文

posted @ 2016-03-11 15:42 快跑的小鸡 阅读(551) 评论(0) 推荐(0)

浅谈Linux下的五种I/O模型
摘要:一、关于I/O模型的引出 我们都知道,为了OS的安全性等的考虑,进程是无法直接操作I/O设备的,其必须通过系统调用请求内核来协助完成I/O动作,而内核会为每个I/O设备维护一个buffer。如下图所示: 整个请求过程为: 用户进程发起请求,内核接受到请求后,从I/O设备中获取数据到buffer中,再 阅读全文

posted @ 2016-02-26 16:15 快跑的小鸡 阅读(5338) 评论(2) 推荐(7)

Netty那点事
摘要:一、Netty是什么 Netty,无论新手还是老手,都知道它是一个“网络通讯框架”。 所谓框架,基本上都是一个作用:基于底层API,提供更便捷的编程模型。 那么”通讯框架”到底做了什么事情呢?回答这个问题并不太容易,我们不妨反过来看看,不使用netty,直接基于NIO编写网络程序,你需要做什么(以S 阅读全文

posted @ 2016-02-18 17:15 快跑的小鸡 阅读(314) 评论(0) 推荐(1)

互联网安全构架
摘要:对于常规的Web攻击手段,如XSS、CRSF、SQL注入等,防范措施比较容易,对症下药即可。 比如:XSS的防范,需要转移掉输入的尖括号;防止CRSF攻击需要将cookie设置为httponly,以及增加session相关的Hash token码;SQL注入的防范需要将分号等字符转义。 除了这些之外 阅读全文

posted @ 2016-02-18 15:05 快跑的小鸡 阅读(473) 评论(0) 推荐(0)

Java NIO概述
摘要:NIO中的几个基础概念 NIO中几个比较关键的概念:Channel(通道),Buffer(缓冲区),Selector(选择器)。 概述 ① Channel,通道,顾名思义,就是通向什么的道路,为某个提供了渠道。 在传统IO中,我们要读取一个文件中的内容,通常如下: public class Test 阅读全文

posted @ 2016-02-14 14:20 快跑的小鸡 阅读(305) 评论(0) 推荐(0)

同步or异步
摘要:一、什么是同步?什么是异步? 同步:如果有多个任务要执行,这些任务必须逐个执行,一个任务的执行会导致整个流程的暂时等待,这些任务没有办法并发地执行; 异步:如果有多个任务要执行,这些任务可以并发执行,一个任务的执行不会导致整个流程的暂时等待。 举个简单的例子: 假如有一个任务包括两个子任务A和B,对 阅读全文

posted @ 2016-01-14 10:19 快跑的小鸡 阅读(431) 评论(0) 推荐(0)

TCP/IP协议三次握手与四次握手流程解析
摘要:1. TCP报文格式 TCP报文格式图: 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 (3)标志位 阅读全文

posted @ 2016-01-08 17:58 快跑的小鸡 阅读(544) 评论(0) 推荐(0)

TCP/IP详解学习笔记
摘要:为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候,所使用的方法是千差万别。 就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。 计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才... 阅读全文

posted @ 2016-01-08 16:10 快跑的小鸡 阅读(412) 评论(0) 推荐(0)

导航