网络编程
HIT_KyleChen
行胜于言
展开
-
一文掌握所有socket网络编程API
引入概念依据tcp/ip协议的一种进程间(同主机或不同主机)的通信机制字节序概念:小端序=低字节在低地址 大端序=低字节在高地址计算机处理器架构一般小端序 网络字节序一般大端序由来:现代处理器的位数一般大于一个字节(一个字节8位,现在一般32位或64位)对应着寄存器也就大于一个字节 所以就有一个多字节的数据怎么安置顺序的问题过程接口地址结构体sock_addr...原创 2020-05-04 14:46:57 · 511 阅读 · 0 评论 -
epoll源码剖析
用途epoll类似于select和poll 也是把要监听的文件描述符纳入自己的监管但是由于select和poll的缺点存在,基于selec或者pollt模型的服务器程序,要达到10万级别的并发访问,是一个很难完成的任务。由于epoll的实现机制与select/poll机制完全不同,上面所说的 select/poll的缺点在epoll上不复存在。用法下面是epoll监控标准输入(文件...原创 2020-04-18 12:47:06 · 350 阅读 · 1 评论 -
select源码剖析
用途相比与普通的阻塞IO模型select相当于是一名监管员把多个要处理的文件描述符纳入自己的监管在设定的时间内阻塞查询 看哪些套接字是就绪的如果是就绪的则对这些套接字进行IO处...原创 2020-04-12 02:53:48 · 1073 阅读 · 1 评论 -
基于Reactor实现的Web服务器(可运行代码+图文解析)
Version1.0架构点击查看大图 其中线程池中工作线程取用任务队列里面的任务也就是进行http报文分析 报文响应时候的流程如下源码详细的源码讲解请看注释特性1. 在整个epoll监听循环开始之前 先屏蔽掉SIGPIPE信号 //默认读写一个关闭的socket会触发sigpipe信号 该信号的默认操作是关闭进程 这明显是我们不想要的 //所以我们需要重...原创 2020-03-13 02:05:42 · 1146 阅读 · 0 评论 -
关于select poll epoll的一切 ,看这一篇就够了
selectpollepoll原创 2019-09-18 17:20:15 · 372 阅读 · 0 评论 -
(应该是讲的最易懂的一篇)关于epoll的一切 ,看完这篇你就彻底懂了
欢迎交流QQ :2431173627Wechat: ccc17862701790引入原因工作原理epoll_create(),epoll_ctl()epoll_wait()ETLT总结特点分析特点分析引入原因先可以回顾一下select和poll是怎么工作看一看我写的另外两篇介绍select和p...原创 2019-09-18 17:15:35 · 792 阅读 · 1 评论 -
IO多路复用大揭秘------彻底搞懂poll函数
欢迎交流 QQ 2431173627 微信 ccc17862701790设计思路对于poll函数工作过程的理解poll函数工作原理与select函数类似,也是监管一系列的文件描述符,看这些文件描述符是否可读/可写/异常,再去调用io函数读写不过poll函数没有监管文件描述符个数的限制,与 select() 在本质上没有多大差别,管理多个描述符也是进行轮询,根据描...原创 2019-09-18 10:27:17 · 1558 阅读 · 0 评论 -
(推荐!)三张图彻底搞懂select函数
欢迎交流 QQ 2431173627 微信 ccc17862701790存在问题设计思路工作过程第一步第二步第三步特点分析程序实例存在问题用socket基本的一套api已经可以构建一个简单的tcp服务器了思路就是 加一个while循环 在循环里面服务器程序用socket bind listen accept recv send 一条龙具...原创 2019-09-17 20:29:47 · 1582 阅读 · 1 评论 -
socket网络编程基础篇-------如何写一个简单的TCP服务器
目录socket通信的预备知识1.什么是socket通信?2.什么是字节序?3.什么是IP地址转换?4.什么是网络地址格式?5.什么是“半关闭”?6.为什么会用到"半关闭"?socket通信的具体过程1.概述2.socket函数3.bind函数4.listen函数,connect函数,accept函数5.send函数,sendto函...原创 2019-01-29 10:35:44 · 4547 阅读 · 1 评论 -
socket网络编程进阶篇--------如何写一个并发的TCP服务器(基于多进程)
在实现之前先看看我在上一篇博文浅谈linux下的进程,线程的概念与使用中,介绍了linux的一些进程状态转换的概念以及响相应的系统调用函数,比如fork,waitpid/wait,exec函数等等掌握了这些函数的使用,实现多进程服务器就很简单了.整体思路就是:在子进程处理读写套接字,负责与客户端数据的收发 在父进程处理监听套接字,负责与客户端的连...原创 2019-02-22 13:32:44 · 319 阅读 · 0 评论 -
socket网络编程进阶篇--------如何写一个并发的TCP服务器(基于IO复用)
Table of Contents预备知识1.什么是IO复用?2.多线程和IO复用对比具体过程1.概述2.select函数3.poll函数4.epoll函数实例代码1.基于select函数的服务器端2.基于poll实现的服务器端参考:在基础篇介绍了怎么从零开始写一个简单的tcp udp服务器,在上一篇写的简单的tcp服务器中,他也...原创 2019-02-04 10:12:55 · 1144 阅读 · 0 评论