![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux网络编程
文章平均质量分 73
编程鸟
编程使我快乐,编程使我富裕,编程使我幸福!我爱编程!
展开
-
Linux UDP协议
1.1 报文头格式UDP指用户数据报协议,其报头格式如下:释:16位UDP长度表示整个数据报(UDP首部+UDP数据)的最大长度。如果校验和出错就会直接丢弃。2.1 UDP的特点UDP传输的过程类似于寄信,其特点是无连接、不可靠和面向数据报。2.1.1 无连接知道对端的IP和端口号就直接进行传输,不需要建立连接。2.1.2 不可靠没有确认机制,没有重传机制。如果因为网络故障该段无法发到对方,UDP协议层也不会给应用层返回任何错误信息。2.1.3 面向数据报不能够灵活的控制读写数据的次数原创 2021-10-06 01:31:18 · 477 阅读 · 0 评论 -
IP地址转换函数
1、概念基于IPv4的socket网络编程,sockaddr_in中的成员struct in_addr sin_addr表示32位 的IP 地址。网络字节顺序的IP地址是二进制的数据,但是通常用点分⼗进制的字符串表⽰IP 地址,为了方便使用需要转换为点分十进制的字符串。例如:128.2.194.242就是地址0x8002c2f2的点分十进制表示。应用程序可以使用以下库函数实现IP地址与点分十进制串的转换,它们存放在<arpa/inet.h>头文件中。2、IP地址转换函数(1)int ine原创 2021-09-02 00:02:46 · 2501 阅读 · 0 评论 -
HTTP协议
一、什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则。HTTP协议,亦超文本传输协议,是一种在应用层上的通信协议,Web使用该协议完成从客户端到服务器端的一系列流程。二、HTTP协议格式 1、HTTP请求 (1)首行:【方法】+【URL】+【版本】 (2)Header:请求的属性,冒号分隔的键值对;每组属性之间使用\n分隔;遇到空行表示Hea...原创 2018-08-15 23:18:31 · 777 阅读 · 0 评论 -
socket详解
一、套接字的概念 一个套接字是网络连接的一个端点。每个套接字都有相应的套接字地址,由一个32位的因特网地址和一个16位的端口号组成,用“IP地址:端口号”来表示,如:192.168.181.129:9999,其中“192.168.181.129”表示IP地址,“9999”表示端口号。二、套接字接口 套接字接口是一组函数,用以创建网络应用,存放在“sys/socket.h”函数库中。 1、...原创 2018-08-08 23:52:31 · 1616 阅读 · 0 评论 -
TCP协议的通讯流程
基于TCP/IP协议的服务器和客户端程序的一般流程,如下图所示: 1、服务器初始化——LISTEN (1)调用socket函数创建文件描述符。 (2)调用bind函数将当前的文件描述符和ip/port绑定在一起。如果这个端口已经被其他进程占用了,就会bind失败。 (3)调用listen函数声明当前这个文件描述符作为一个服务器的文件描述符,为accept做好准备。 (4)调用acce...原创 2018-08-24 00:55:44 · 38285 阅读 · 4 评论 -
UDP与TCP的对比
1、报头(1)TCP协议报头TCP指传输控制协议,其报头格式如下:TCP协议中的六个标志分别是,URG、ACK、PSH、RST、SYN、FIN。1)UGR(紧急):UGR=1表示紧急指针字段有效。它告诉系统此报文段有紧急数据,应当尽快传送。从报文段的开头,到紧急指针指向的地方就是紧急数据。2)ACK(确认):ACK=1时,确认号字段才有效。3)PSH(推送):让对方立即收到响应。与U...原创 2018-10-01 02:27:08 · 32955 阅读 · 3 评论 -
IO多路转接之select
一、初识select系统提供select函数来实现多路复用输入输出模型。Select系统调用是用来让我们的程序监视多个文件描述符的状态变化的,程序会停在select这里等待,直到被监视的文件描述符有一个或多个发生了状态改变。二、select函数解释1、select的函数原型#include<sys/select.h>int select(int nfds, fd_set* r...原创 2018-09-25 22:47:42 · 286 阅读 · 0 评论 -
五种IO模型
1、阻塞IO(1)概念:在内核将数据准备好之前,系统调用会一直等待。所有的套接字,默认情况都是阻塞方式。(2)阻塞IO的工作流程:2、非阻塞IO(1)概念:如果内核还未将数据准备好,系统调用仍然会直接返回,并且返回EWOULDBLOCK错误码。(2)非阻塞的工作流程:注意:非阻塞IO往往需要程序员以循环的方式反复尝试读写文件描述符,这个过程称为轮询。这个过程对CPU来说是较大的浪费...原创 2018-09-22 21:51:18 · 835 阅读 · 0 评论