linux 网络编程
文章平均质量分 86
weixin_37924880
这个作者很懒,什么都没留下…
展开
-
linux高性能服务器编程学习笔记三:TCP协议详解
1、和IP协议相比,TCP协议处于传输层,更靠近应用层,因此在应用程序中具有更强的可操作性。 2、一般来说,TCP主要处理端到端的通信,因此头部信息主要包括源端口号,目的端口号。TCP协议是面向连接、面向字节流和可靠传输的协议。因此头部还需要一些字段来管理TCP连接以及控制两个方向的数据流。 3、TCP服务的特点:使用TCP协议通信必须先建立连接,然后才能开始数据的读写。并且通信双方都需要在内原创 2017-11-28 22:57:18 · 248 阅读 · 0 评论 -
linux高性能服务器编程学习笔记一:TCP/IP协议详解
1、TCP/IP协议族是一个四层协议系统,自底向上依次为数据链路层、网络层、传输层、应用层。 2、数据链路层常用的协议有ARP协议。网络层常用的协议有ICMP协议和TP协议。传输层常用的协议有TCP协议和UDP协议。应用层常用的协议有ping、telnet、OSPF协议、DNS协议,其中ping直接使用网络层的ICMP协议,OSPF协议直接使用网络层的IP协议,telnet使用网络层的TCP协议原创 2017-11-25 21:23:05 · 274 阅读 · 0 评论 -
linux高性能服务器编程学习笔记二:IP协议详解
1、IP协议是TCP/IP协议族的核心协议。要理解IP协议应当从了解它的头部信息开始。网络层主要的作用是路由选址和转发。选址当然选的是IP地址,所以头部信息应当包括源IP地址和目的IP地址。要知道以太网帧数据的最大长度为1500字节,那么在网络层传递给数据链路层的时候就需要对IP数据包进行分片,那么IP头部信息应当有分片字段。为了多个分片的数据包能够重组,应当有唯一一个标识字段来确认多个分片的包同原创 2017-11-26 17:42:09 · 184 阅读 · 0 评论 -
linux高性能服务器编程学习笔记四:HTTP协议相关格式
1、HTTP请求 GET http://www.baidu.com/index.htmlHTTP/1.0(请求行) User-Agent: Wget/1.12 (linux-gnu)(头部字段) Host:www.baidu.com(头部字段) Connection:close(头部字段) (1)GET为请求方法,表示客户端以只读的方式申请服务器的资源。常见的方法见下表原创 2017-11-29 18:25:01 · 271 阅读 · 0 评论 -
linux高性能服务器编程学习笔记七:高性能服务器程序框架
1、服务器一般可以解构为以下三个主要模块: (1)I/O处理单元。(四种I/O模型和两种高效事件处理模式) (2)逻辑单元。(两种高效并发方式以及高效的逻辑处理方式—有限状态机) (3)存储单元(服务器程序的可选模块,其本身与网络编程无关) 2、服务器模型 (1)C/S模型:由于资源(视频、新闻、软件等)都被数据提供者垄断,所以几乎所有的网络应用程序都很自然的采用C/S(客户端/服务器模原创 2017-12-08 17:47:57 · 309 阅读 · 0 评论 -
linux高性能服务器编程学习笔记五:高级I/O函数
1、linux提供了一些高级I/O函数,在特定的情况下表现出优秀的性能。这些函数大致分为3类 (1)用于创建文件描述符的函数,包括pipe、dup/dup2函数 (2)用于读写数据的函数,包括readv/writev、sendfile、mmap/munmap、splice和tee函数 (3)用于控制I/O行为和属性的函数,包括fcntl函数。 2、pipe函数(intpipe(int fd原创 2017-12-02 15:44:16 · 188 阅读 · 0 评论 -
linux高性能服务器编程学习笔记六:linux服务器程序规范
除了网络通信外,服务器程序通常还必须考虑许多其它细节问题。这些细节面广而琐碎,基本上都是模版式的,一般称之为服务器程序规范。例如: 1、linux服务器程序一般以后台进程形式运行,后台进程又称为守护进程(daemon)。它没有控制终端,因而不会意外的接收到用户的输入。守护进程的父进程通常都是init进程(进程ID为1)。守护进程的编写需要遵循一定的步骤: (1)创建子进程,关闭父进程,这样可以原创 2017-12-04 22:10:26 · 205 阅读 · 0 评论 -
linux高性能服务器编程学习笔记八:I/O复用
1、I/O复用使得程序能够监听多个文件描述符,网络程序一般在下列情况使用I/O复用技术 1)客户端要同时处理多个socket。(非阻塞connect技术) 2)客户端程序既要处理用户输入又要进行网络连接。(聊天室技术) 3)TCP服务器要同时处理监听socket和连接socket。(I/O复用使用最多的场合) 4)服务器同时处理TCP请求和UDP请求。(回射服务器)原创 2017-12-13 20:18:01 · 211 阅读 · 0 评论 -
linux高性能服务器编程学习笔记九:信号
1、信号是由系统、用户或进程发送给目标进程的信息,以通知目标信息某个状态的改变或系统异常。Linux信号可由如下条件产生: (1)对于前台进程,可以输入某些特殊的终端字符来给它发送信号。(Ctrl+C给前台进程发送中断信号) (2)诸如越界访问或者浮点异常等系统异常 (3)诸如alarm定时器到期引起SIGSLARM信号的系统状态变化 (4)运行Kill命令或调用kill函数 2、发送信原创 2017-12-18 20:16:44 · 229 阅读 · 0 评论