随笔分类 -  tcp&http

总结tcp&http相关知识,基于工程实践
摘要:Redis的网络模型是基于I/O多路复用程序来实现的。源码中包含四种多路复用函数库epoll、select、evport、kqueue。在程序编译时会根据系统自动选择这四种库其中之一。下面以epoll为例,来分析Redis的I/O模块的源码。 epoll系统调用方法 Redis网络事件处理模块的代码 阅读全文
posted @ 2020-07-25 15:51 数小钱钱的种花兔 阅读(907) 评论(0) 推荐(0)
摘要:UNIX的五种I/O模型:阻塞式I/O模型,非阻塞式I/O模型,I/O复用模型,信号驱动式I/O模型,异步I/O模型。这些概念看似容易混淆,从UNIX底层的I/O操作的角度来分析,其实不难理解。 一个输入操作通常包括以下两个阶段: 1. 等待数据准备好;包括等待数据从网络中到达,数据到达后存入内核的 阅读全文
posted @ 2020-05-23 19:17 数小钱钱的种花兔 阅读(200) 评论(0) 推荐(0)
摘要:问题背景 NIO是面向缓冲区进行通信的,不是面向流的。我们都知道,既然是缓冲区,那它一定存在一个固定大小。这样一来通常会遇到两个问题: 消息粘包 :当缓冲区足够大,由于网络不稳定种种原因,可能会有多条消息从通道读入缓冲区,此时如果无法分清数据包之间的界限,就会导致粘包问题; 消息不完整 :若消息没有 阅读全文
posted @ 2020-04-19 17:00 数小钱钱的种花兔 阅读(1842) 评论(0) 推荐(0)
摘要:问题 今天调试NIO后台发现一个蛋疼的问题。经过调试之后,出现问题的流程描述如下: 客户端向服务端发送消息,服务端使用IO多路复用处理输入,即一个selector监听多个channel。第一条消息正常接收,发送第二条消息时,select()立即返回0,然后开始continue无限循环,导致第二条消息 阅读全文
posted @ 2020-04-16 16:04 数小钱钱的种花兔 阅读(914) 评论(0) 推荐(1)
摘要:我前段时间的一篇博客 "java网络编程——多线程数据收发并行" 总结了服务端与客户端之间的收发并行实践。原理很简单,就是针对单一客户端,服务端起两个线程分别负责read和write操作,然后线程保持阻塞等待读写执行。 事实上,这样的模式非常糟糕。因为每一个客户端在服务端需要占用两条线程,假如有10 阅读全文
posted @ 2020-04-04 19:39 数小钱钱的种花兔 阅读(607) 评论(0) 推荐(0)
摘要:基本介绍与思路 收发并行 前一篇博客中,完成了客户端与服务端的简单TCP交互,但这种交互是触发式的:客户端发送一条消息,服务端收到后再回送一条。没有做到收发并行。收发并行的字面意思很容易理解,即数据的发送与接收互相不干扰,相互独立。当然,要保证服务端和客户端都能做到收发并行。 业务逻辑 脱离业务逻辑 阅读全文
posted @ 2020-03-17 23:11 数小钱钱的种花兔 阅读(2937) 评论(2) 推荐(1)
摘要:还记得当年学计网课时用python实现一个简单的CS会话功能,这也是学习socket网络编程的第一步,现改用java重新实现,以此记录。 客户端 服务器端 阅读全文
posted @ 2020-03-07 12:23 数小钱钱的种花兔 阅读(402) 评论(0) 推荐(0)
摘要:博客搬家: "content type常见类型辨析(以ajax与springmvc前后端交互为例)" 在http报文的首部中,有一个字段Content type,表示请求体(entity body)中的数据类型 常见的媒体格式类型如下 text/html : HTML格式 text/plain :纯 阅读全文
posted @ 2019-11-21 10:52 数小钱钱的种花兔 阅读(672) 评论(0) 推荐(0)
摘要:博客搬家: "https搭建(自签名证书)" /) 上一篇博客探究了https(ssl)的原理,为了贯彻理论落实于实践的宗旨,本文将记录我搭建https的实操流程,使用Apache2+ubuntu+opensssl 1.使用自签证书配置https 一般来讲,正式的上线项目都需要购买域名,并且向权威机 阅读全文
posted @ 2019-03-05 19:57 数小钱钱的种花兔 阅读(11250) 评论(3) 推荐(3)
摘要:博客搬家: "https原理总结" 最近在公司项目的服务器上做一些内部接口,要求使用https,于是花时间研究了一波。我们熟知的http在传输时未对数据进行加密,在传输一些敏感信息时存在着不小的安全隐患。因此,https在http的基础上加上了SSL(Secure Sockets Layer)加密, 阅读全文
posted @ 2019-03-03 18:47 数小钱钱的种花兔 阅读(426) 评论(0) 推荐(1)