![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
网络
Linux C网络编程
Cassie~
hello world!
展开
-
TCP和UDP对比总结
传输层位于网络层之上,它为运行在不同主机上的的进程之间提供了逻辑通信,而网络层提供了主机之间的逻辑通信。即使网络层不可靠,传输层同样能为应用程序提供主机之间的逻辑通信。传输层提供的功能如下:传输层提供应用进程之间的逻辑通信,即端到端的通信。与网络层的区别是网络层提供主机到主机之间的通信。复用和分用。复用是指发送方不同的应用进程都可以使用同一个传输层协议传送数据,分用是指接收方的传输层在剥去...原创 2020-09-04 09:49:47 · 1397 阅读 · 0 评论 -
HTTP的常见方法 / HTTP状态码 / HTTP版本
GET方法:获取资源客户端请求指定资源信息,服务器返回指定资源。POST方法:传输实体主体一般用于表单的提交数据,将客户端的数据提交到服务器PUT方法:传输文件在请求报文主体中包含文件的内容,然后保存到请求URL指定的位置。HEAD方法:获得报文首部请求HTTP 首部,响应报文中用于确认URL的有效性及资源更新的日期时间等。DELETE方法:删除文件请求服务器删除指定的资源。...原创 2020-04-19 10:13:33 · 338 阅读 · 0 评论 -
TCP的三次握手和四次挥手
三次握手第一次握手:客户端发送syn包(syn=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,如同意建立连接,确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕...原创 2020-03-10 11:29:12 · 194 阅读 · 0 评论 -
OSI 网络模型
OSI 网络模型开放系统互联参考模型OSI (Open Systcm Interconnection Reference Mode)是国际标准化组织(ISO)提出的一个设计和描述网络通信的基本框架,包括了物理层、数据链路层、网络层、传输层、会话层、表示层、应用层(共7层)。通常把OSI网络模型的低四层(物理层、数据链路层、网络层、传输层)称为数据流层,而把高三层(会话层、表示层、应用层)称为应...原创 2020-07-06 16:11:00 · 261 阅读 · 0 评论 -
Linux 的 TCP 编程
TCP是TCP/IP协议族中面向连接的可靠协议,本文将介绍其工作流程以及在Linux中对其进行编程的方法。TCP基础同其他任何协议栈一样, TCP向相邻的高层提供服务。因为TCP的上一层就是应用层,因此,TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递。应用程序通过编程调用 TCP 并使用TCP服务,提供需要准备发送的数据,用来区分接收数据应用的目的地址和端口号。通常情况下, ...原创 2019-12-09 12:22:40 · 587 阅读 · 0 评论 -
Linux C 网络_建立连接函数
当使用 socket 函数建立一个套接字并且绑定了地址之后,即可使用connect函数来和服务器建立一个连接。#include <sys/types.h>#include <sys/socket.h>int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen);其中参数 sockfd ...原创 2019-11-18 21:50:26 · 429 阅读 · 0 评论 -
Linux C 网络_绑定套接字函数
在创立了套接字之后需要将本地地址和套接字绑定在一起,此时可以调用 bind 函数。#include <sys/types.h>#include <sys/socket.h>int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);参数 sockfd 是使用 socket 函数创建的套接...原创 2019-11-18 20:36:46 · 665 阅读 · 0 评论 -
Linux C 网络_创建套接字描述符函数
Linux 使用 socket 函数来创建一个套接字描述符。#include <sys/types.h>#include <sys/socket.h>int socket(int domain, int type, int protocol);如果函数调用成功,则返回套接字的描述符,是一个正整数,如果函数调用失败则返回 -1。对函数中的各个参数描述如下:**...原创 2019-11-18 20:08:32 · 463 阅读 · 0 评论 -
Linux C 网络_域名转换函数族
在实际的网络应用中,常常会使用类似 “www sina. com.cn" 这样的域名替代 IP 地址来标识一个服务器,所以需要函数将域名和实际的 IP 地址进行转换。Linux 在 netdb.h 头文件中定义了一个结构体,用于描述一个主机的相关参数,其形式如下:struct hostent{ char *h_name;//主机的正式名称 char *h_aliases;//...原创 2019-11-13 21:01:28 · 167 阅读 · 0 评论 -
Linux C 网络_IP地址转换函数族
通常 IP 地址会被表示为 “192.168.1.1” 这样的 “点分十进制” 方式,而在 Linux 的网络编程中会使用32位二进制值,所以 Limux 提供了函数族用于将这两个数值进行转换,这些函数包括 inet_aton、inet_ntoa 和 inet_addr 等。IP 地址转换函数族inet_aton 函数用于将点分十进制数的 IP 地址转换成为网络字节序的 32 位二进制数值。...原创 2019-11-13 20:31:10 · 1026 阅读 · 0 评论 -
Linux C 网络_字节操作函数族
套接字地址为多字节数据而不是以空字符结尾,所以 Linux 提供了两组函数来处理这个多字节数据。1. 第一组函数第一组函数是和 BSD 系统兼容的函数,包括了 bzero、beopy 和 bcmp。函数 bzero 将参数 s 指定的内存的前 n 个字节设置为 0,通常用它来将套接字地址清零。#include <strings.h>void bzero(void *s, ...原创 2019-11-12 22:40:03 · 145 阅读 · 0 评论 -
Linux C 网络_字节顺序转换函数
字节顺序转换函数计算机内部的数据存储通常有两种:大端模式:高位字节优先。(高位存在低地址)小端模式:低位字节优先。(低位存在低地址)以32位宽度的数据0x12345678为例,大端模式和小端模式的存放方法如下表:内存地址0x80000x80010x80020x8003大端模式0x120x340x 560x78小端模式0x780x560x3...原创 2019-11-12 22:08:21 · 306 阅读 · 0 评论 -
Linux 的端口和套接字
Linux 的端口是一个逻辑概念,其由 TCP/IP 协议定义,是一个 0–65535 之间的数字,可以分为常用的“固定”端口和通用端口两个部分。“固定”端口是指一些常用的软件或者 TCP/IP 协议中确定和公布的,通常来说不会被其他程序使用。Linux 中的常见“固定”端口和对应的协议协议端口号FTP21TELNET23TFTP69SNMP16...原创 2019-11-06 17:40:57 · 555 阅读 · 0 评论 -
Linux 套接字的结构定义
Linux 在头文件 sys/socket.h 中定义了一种通用的套接字结构类型,以供不同的协议进行调用,对其说明如下:struct sockaddr{ unsigned short int sa_family;//套接字协议地址类型 unsigned char sa_data[14];//14字节的协议地址,包括IP地址和端口};sa family:套接字的协议族地...原创 2019-11-06 17:00:03 · 376 阅读 · 1 评论 -
IP协议规定的IP地址
IP协议规定的IP地址网络(该网络是指宏观的因特网,也即该地址拥有独立IP)中的任何一台数据设备都必须有一个独一无二的IP地址,在IP协议中规定了一个IP地址由4个字节组成,如192.168.16.17,其可以转换为相应的二进制。在IP协议中定义了A、B、C、D共4种主要的地址类。A类地址:第一位固定为0,第一个字节(前8位)为网络标识符,用来标识网络,其余3个字节用来标识网络中的主机,因...原创 2020-04-06 16:12:39 · 1239 阅读 · 0 评论 -
Linux 的网络通信模型
一、OSI 网络模型计算机网络模型是为了简化网络的研究、设计与实现而抽象出来的一种结构模型, 通常采用层次模型。在每个层次模型中,往往将系统所要实现的复杂功能分化为若干个相对简单的细小功能,每一项分功能以相对独立的方式去实现。开放系统互联参考模型OSI (Open Systcm Interconnection Reference Mode)是国际标准化组织(ISO)提出的一个设计和描述网络通信...原创 2019-09-29 17:43:37 · 312 阅读 · 0 评论