![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
socket编程
CringKong
高级语言生产,底层思维学习
展开
-
JAVA--Socket编程实现HTTP报文收发(模拟浏览器)
每天我们都会使用浏览器去访问一些网站页面,但是每次访问时,你是否会想知道,浏览器和服务器到底做了些什么,才让你看到浏览器呈现给你的这些具有样式排版,乃至动画的页面?本文需要知识前提:HTTP协议了解,TCP/IP协议了解,Socket编程了解。1.浏览器收发HTTP报文你可能会回答,浏览器向服务器端发送HTTP请求,服务器回复HTTP请求,再经过浏览器内核的渲染和javas...原创 2018-04-10 21:01:47 · 16708 阅读 · 2 评论 -
JavaNIO--2.实现ECHO服务器
JavaNIO技术实现ECHO服务器1.NIO核心组件的使用1.1初始化NIO组件1.2Accept组件1.3SelectLoop(核心组件)2.NIO通道读写(Buffer)2.1读取通道内容2.2Buffer处理辅助方法3.测试结果4.完整代码JavaNIO技术实现ECHO服务器所谓ECHO服务器就是客户端发送到服务器端什么内容,服务器端就返回...原创 2018-05-02 21:42:05 · 741 阅读 · 0 评论 -
JavaNIO--3.Reactor模式实现echo服务器
一、什么是Reactor模式1.1概念1.2NIO如何实现Reactor模式二、JavaNIO实现基于Reactor模式的ECHO服务器2.1初始化事件处理器(service handler)2.2多路复用+循环分发2.3同步任务派发器(dispatch)2.4请求处理器(Request Handler)三、完整代码四、测试结果一、什么是Reactor模式...原创 2018-05-03 19:36:27 · 550 阅读 · 0 评论 -
JavaNIO和零拷贝(Zero Copy)
一.Linux操作系统中的零拷贝1.1先从Linux的普通I/O过程说起1.2内存映射方式I/O1.3内核空间内部传输I/O1.4理想状态下的零拷贝I/O1.5splice()系统调用二.JavaNIO中的零拷贝2.1NIO中内存映射方式I/O2.2NIO中的零拷贝今天在学习netty的时候,突然了解到一个新的概念,零拷贝(Zero Copy),涉及到操作系...原创 2018-05-10 22:32:34 · 12876 阅读 · 11 评论 -
JavaNIO--1.JavaI/O模型
JavaI/O模型1.阻塞和非阻塞1.1阻塞式I/O1.2非阻塞式I/O2.同步和异步2.1同步I/O2.2异步I/O3.多路复用I/O和JavaNIO3.1操作系统的I/O多路复用3.2JavaNIO4.回顾总结JavaI/O模型1.阻塞和非阻塞1.1阻塞式I/O首先要搞清楚的是,一个I/O过程,在任何操作系统下,都分为两...原创 2018-04-27 20:00:04 · 459 阅读 · 1 评论 -
JavaNIO--5.多Reactor模式
一. 多Reactor模型1.1最优的解决方案1.2模型代码1.2.1主反应器1.2.2次反应器1.3模型代码分析二. 总结一. 多Reactor模型1.1最优的解决方案当我们经历了最初的Reactor模型,实现了单线程基于Selector选择器的NIO通信模式,到升级为多线程Reactor模型,由一个Selector实现事件的分发到不同的线程进行服...原创 2018-05-20 21:01:20 · 1017 阅读 · 1 评论 -
JavaNIO--4.多线程Reactor模式
单线程VS多线程1.模型代码1.1Reactor模型1.Handler模型2.自己实现的多线程echo服务器(基于Reactor模式)2.1 Reactor2.2 Handler单线程VS多线程写在前面: 也就是说多线程实现echo服务器实际上是不太科学的选择,但是本文依旧是实现了一个echo服务器。为了不误人子弟,所以请谨慎观看第二部分——自...原创 2018-05-08 19:15:22 · 1466 阅读 · 0 评论