代码编织梦想

linux高性能服务器编程 学习笔记 第五章 linux网络编程基础api_linux网络编程api-爱代码爱编程

我们将从以下3方面讨论Linux网络API: 1.socket地址API。socket最开始的含义是一个IP地址和端口对(ip,port),它唯一表示了使用TCP通信的一端,本书称其为socket地址。 2.socket基

linux高性能服务器编程 学习笔记 第十二章 高性能io框架库libevent-爱代码爱编程

Linux服务器进程在处理三类事件(IO、信号、定时)时需要考虑以下问题: 1.统一事件源。统一处理这三类事件既能使代码简单易懂,又能避免一些潜在的逻辑错误,可用IO复用系统调用来管理所有事件。 2.可移植性。不同的操作系

linux高性能服务器编程 学习笔记 第十七章 系统监测工具-爱代码爱编程

tcpdump是一款经典的抓包工具,即使今天我们已经有了像Wireshark这样更易于使用和掌握的抓包工具,tcpdump仍是网络程序员的必备利器。 tcpdump提供了一些选项用以过滤数据包或定制输出格式,常见的选项如下

linux高性能服务器编程 学习笔记 第二章 ip协议详解_ernest-爱代码爱编程

本章从两方面探讨IP协议: 1.IP头部信息。IP头部出现在每个IP数据报中,用于指定IP通信的源端IP地址、目的端IP地址,指导IP分片和重组,指定部分通信行为。 2.IP数据报的路由和转发。IP数据报的路由和转发发生在

linux高性能服务器编程 学习笔记 第三章 tcp协议详解_192.168.1.109:5001-爱代码爱编程

与IP协议相比,TCP协议更靠近应用层,因此在应用程序中有更强的可操作性。一些重要的socket选项都和TCP协议相关。 本章从以下方面讨论TCP协议: 1.TCP头部信息。TCP头部信息出现在每个TCP报文段中,用于指定

linux高性能服务器编程 学习笔记 第十六章 服务器调制、调试和测试-爱代码爱编程

Linux平台的一个优秀特性是内核微调,即我们可以通过修改文件的方式来调整内核参数。 服务器开发过程中,可能会碰到意想不到的错误,一种调试方法是用tcpdump抓包,但这种方法主要用于分析程序的输入和输出,对于服务器的逻辑

linux高性能服务器编程 学习笔记 第十一章 定时器_socksetnonblocking()的作用-爱代码爱编程

网络程序需要处理定时事件,如定期检测一个客户连接的活动状态。服务器进程通常管理着众多定时事件,有效地组织这些定时事件,使其在预期的时间被触发且不影响服务器的主要逻辑,对于服务器的性能有至关重要的影响。为此,我们要将每个定时事

linux高性能服务器编程 学习笔记 第一章 tcp/ip协议族_linux内核 tcp ip协议栈 csdn-爱代码爱编程

现在Internet使用的主流协议族是TCP/IP协议族,它是一个分层、多协议的通信体系。 TCP/IP协议族包含众多协议,我们只详细讨论IP协议和TCP协议,因为它们对编写网络应用程序有最直接的影响。如果想系统学习网络协

第十章信号_sig_err时errno的值-爱代码爱编程

信号:用户、系统或进程发送给目标进程的信息,通知目标进程某个状态的改变或系统异常。 10.1 Linux信号概述 10.1.1 发送信号 一个进程给其他进程发送信号的API是kill函数 #include <s

linux高性能服务器编程-爱代码爱编程

用于创建文件描述符函数用于读写数据函数用于控制IO行为和属性的函数 6.1 pipe函数 用于创建管道,实现进程之间的通信。pipe函数定义 #include <unistd.h> //成功返回0,失败返回

服务器的压力测试_epoll 多路复用压力测试-爱代码爱编程

    压力测试程序有很多种实现方式,比如I/O复用方式,多线程并发编程方式以及这些方式的结合使用。不过,淡出的I/O复用方式的施压程度是最高的,因为现场和进程的调度本身也是要占用一定的CPU时间的。因此我们使用epoll来实现一个通用的服务器压力测试程序。  C++ Code 

第7章 linux服务器程序规范_linux 服务程序-爱代码爱编程

第7章 Linux服务器程序规范 除了网络通信,服务器通常还需要考虑其他问题。Linux服务器程序通常以后台进程形式运行,后台进程又称为守护进程。Linux服务器程序通常有一套日志系统,它至少能输出日志到文件。Linux服

nginx_q nginx-爱代码爱编程

NginX 定义:高性能(请求和响应速度极高)的HTTP和反向代理的web服务器 事件处理模式:proactor,异步非阻塞 proactor流程详细可见如下博客 IO多路复用及事件处理模式_Q_Outsider的博

ip协议详解-爱代码爱编程

        IP协议是TCP/IP协议族的核心协议,也是socket网络编程的基础之一。IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。 1、IPv4头部结构         IPv4的头部结构,其长度通常为20字节,除非含有可变长的选项部分。         4位版本号(version)指定IP协议的版本。

io多路复用及事件处理模式基础知识整理-爱代码爱编程

半同步半反应堆模型文章出处 I/O多路复用 I/O多路转接:当我们的客户端请求服务端时,会每次为一个请求写入一个文件描述符。为节省资源,我们选择使用一个线程监听多个文件描述符,提高程序的性能,这就是IO多路复用技术。IO

红黑树插入删除情况图片总结,帮助你快速回忆。_红黑树插入 记忆-爱代码爱编程

总是忘记插入和删除的几种情况, 在这做个笔记,其实需要记忆的东西不多,只需要记住插入的两大类情况,删除的三大类情况,就能很好的理解红黑树。 平衡条件 1.节点非黑即红 2.根节点是黑色 3.叶子(NIL)结点是黑色 4.

linux高性能服务器编程-爱代码爱编程

创建线程和结束线程读取和设置线程属性POSIX线程同步方式:POSIX信号量、互斥锁和条件变量 14.1 Linux线程概述 14.1.1 线程模型 线程是程序中完成一个独立任务的完整执行序列。线程分类:依据运行环境和

linux高性能服务器编程-爱代码爱编程

IP头部信息,IP数据报的路由和转发。 2.1 IP服务的特点 为上层提供无状态、无连接、不可靠的服务。无状态:无上下文关系,不同步传输数据的状态信息,每条数据都是互相独立的。无状态的优点,简单高效。无连接:通信双方不长

单核与多核中的多线程环境下,如何保证i++执行的原子性。_多个线程 进行a++ 单核单线程-爱代码爱编程

设想有这样一种情况:有十个线程同时对一个变量a执行+1操作一百次,那么理想的执行结果是最终a的值变成1000,但往往无法达到1000,因为对a执行+1的操作分了三步(1.从内存中取到寄存器;2.将寄存器的值+1;3.再放回内

高性能服务器程序框架-爱代码爱编程

我们按照服务器程序的一般原理,将服务器解构为如下三个主要模块: 1. I/O处理单元。本章将介绍I/O处理单元的四种I/O模型和两种高效事件处理模式。 2. 逻辑单元。本章将介绍逻辑单元的两种高效并发模式,以及高效的逻辑