
网络
文章平均质量分 81
wang yang
用心走在C的道路上—— Romantic_c
展开
-
OSI七层模型
OSI七层模型,及其特性、功能、协议原创 2018-08-14 13:43:50 · 377 阅读 · 0 评论 -
网络层
网络层功能:地址管理,路由选择 网络层协议:IP,ICMP,ARP等IP协议 (IPV4(主),IPV6)IP协议头格式 4位版本号: 指定IP协议的版本, 对于IPv4来说, 就是44位头部⻓度: IP头部的⻓度是多少个32bit, 也就是 length * 4 的字节数. 4bit表⽰最⼤的数字是15, 因此IP头部最⼤⻓度是60字节. 8位服务类型: 3位优先...原创 2018-08-17 01:18:13 · 1623 阅读 · 0 评论 -
poll与epoll
pollpoll函数接口#include <poll.h>int poll(struct pollfd *fds,nfds_t nfds,int timeout);//参数1 结构体指针(结构体数组的首地址) //参数2 数组长度//参数3 poll函数的超时时间(同select)//返回值小于0,出错,等于0,poll函数等待超时//大于0,表示pol...原创 2018-08-19 15:21:01 · 773 阅读 · 0 评论 -
传输层
TCP(Transmission Control Protocol):传输控制协议TCP协议段格式32位序列号:数据包编码4位TCP报头⻓度: 表⽰该TCP头部有多少个32位bit(有多少个4字节); 所以TCP头部最⼤⻓度是15 * 4 =60 URG: 紧急指针是否有效 ACK: 确认号是否有效 PSH: 提⽰接收端应⽤程序⽴刻从TCP缓冲区把数据读⾛ ...原创 2018-08-16 19:24:33 · 646 阅读 · 0 评论 -
应用层
URL(网址) 登录信息已经看不到啦 HTTP协议下服务器端口号不写默认为80 ?号后边为查询字符串:每个键值对用&amp;amp;amp;amp;amp;amp;隔开,键和值用=隔开 域名&amp;amp;amp;amp;amp;lt;例:baidu&amp;amp;amp;amp;amp;gt;与IP地址&amp;amp;amp;amp;amp;lt; 16位点分十进制 &amp;amp;amp;amp;amp;原创 2018-08-16 12:47:14 · 379 阅读 · 0 评论 -
select
selectselect系统调⽤是⽤来让我们的程序监视多个⽂件描述符的状态变化的;程序会停在select这⾥等待,直到被监视的⽂件描述符有⼀个或多个发⽣了状态改变;#include &amp;amp;lt;sys/select.h&amp;amp;gt;int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,st...原创 2018-08-18 16:15:29 · 265 阅读 · 0 评论 -
基于TCP的服务器
Liunx/***************** server.c *******************/#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; ...原创 2018-08-15 17:24:40 · 381 阅读 · 0 评论 -
基于UDP的服务器
UDP传输层协议 无连接 不可靠传输 面向数据报原创 2018-08-15 17:10:06 · 966 阅读 · 0 评论 -
高级IO
阻塞IO 在内核将数据准备好之前, 系统调⽤会⼀直等待. 所有的套接字, 默认都是阻塞⽅式⾮阻塞IO 如果内核还未将数据准备好, 系统调⽤仍然会直接返回, 并且返回EWOULDBLOCK错误码,⾮阻塞IO往往需要程序员循环的⽅式反复尝试读写⽂件描述符, 这个过程称为轮询. 这对CPU来说是较⼤的浪费, ⼀般只有特定场景下才使⽤信号驱动IO 内核将数据准备好的...原创 2018-08-18 00:07:34 · 277 阅读 · 0 评论 -
网络编程套接字
linux操作系统IP地址 IP地址是⼀个4字节, 32位的整数,通常也使⽤ “点分⼗进制” 的字符串表⽰IP地址端口号 端口号是一个2个字节16位的整数,用来标识一个进程。IP地址+端口号能够标识网络上的某一台主机的某一进程; 一个进程可以绑定多个端口号,但一个端口号不能被多个进程绑定。网络字节序 内存中的多字节数据相对于内存...原创 2018-08-15 15:06:46 · 359 阅读 · 0 评论 -
数据链路层
数据链路层:⽤于两个设备(同⼀种数据链路节点)之间进⾏传递 代表物:网桥,交换机 协议:MAC,PPP,FR,HDLR,VLAN以太网“以太网” 不是⼀种具体的网络, ⽽是⼀种技术标准; 既包含了数据链路层的内容, 也包含了⼀些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制⽅式, 传输速率等;例如以太网中的网线必须使⽤双绞线; 传输速率有10M, 100M, 100...原创 2018-08-17 15:07:46 · 360 阅读 · 0 评论