![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux网络编程
CarmenIsOK
这个作者很懒,什么都没留下…
展开
-
(二)Linux网络编程之协议
一、协议格式1. 以太网帧格式 – 借助mac地址完成数据报传递arp数据报 – 根据IP获取mac地址2.IP段格式4位版本:ipv4 ipv68位生存时间(TTL):最多能经过多少跳32位源IP地址:数据发送端地址32位目的IP地址:数据接收端地址3.UDP数据包格式16位源端口16位目的端口3.UDP数据包格式16位源端口:16位目的端口:4....原创 2019-05-30 20:06:57 · 161 阅读 · 0 评论 -
(一)Linux网络编程之网络基础
一、网络应用程序设计模式1、C/S - client/server优点:1.协议选用灵活 2.可以缓存数据缺点:1.对用户安全构成威胁 2.开发工作量,调试困难2、B/S - browser/server优点:跨平台缺点:只能使用http二、协议的概念规则:数据传输和数据解释的规则原始协议 ----->(改善、完善)----->标准协议典型协议:TCP/...原创 2019-05-29 18:46:59 · 170 阅读 · 0 评论 -
(三)Linux网络编程之socket套接字
socketsocket编程什么是socket?网络通信的函数接口封装了传输层协议tcpudp使用浏览器 - http协议封装的是tcp1. 套接字概念socket通信服务器端 - 被动客户端 - 主动socket编程 - 网络IO编程读写操作read/write文件描述符创建一个套接字,得到的是文件描述符套接字:创建成功,得到一个文件描述符...原创 2019-06-04 21:23:12 · 235 阅读 · 0 评论 -
(五)Linux网络编程之tcp状态转换、端口复用
一、TCP状态转换1、2MSL等待时长主动关闭连接的一方,处于TIME_WAIT状态有的地方:2分钟,30s,一般是30s(MSL)2、半关闭A给B发送是FIN(A调用了close函数),但是B没有给A发送FIN(B没有调用close函数)A断开了与B的连接,B没有断开与A的连接A不能给B发送数据,A可以受B发送的数据B可以给A发送数据函数int shutdown...原创 2019-07-13 15:07:44 · 608 阅读 · 0 评论 -
(六)Linux网络编程之IO多路 - select
一、IO多路转接1、IO操作方式阻塞等待好处:不占用CPU的宝贵时间片缺点:同一时刻只能处理一个操作,效率低非阻塞,忙轮询好处:提高了程序的执行效率缺点:需要占用更多的CPU和系统资源2、解决方案:使用IO多路转接技术select/poll/epoll第一种:select/poll 【线性表】select代收员比较懒,他只会告诉你几个快递到了,但是哪个快递,你需要挨个...原创 2019-07-13 16:25:55 · 171 阅读 · 0 评论 -
(七)Linux网络编程之IO多路 - poll
一、poll结构体struct pollfd{ int fd;//文件描述符 short events; //等待的事件 short revents;//实际发生的事件};原创 2019-07-13 17:07:44 · 138 阅读 · 0 评论 -
(八)Linux网络编程之IO多路 - epoll
一、三个函数typedef union epoll_data{ void *ptr; int fd; uint32_t u32; uint64_t u64;}epoll_data_t;struct epoll_event{ uint32_t events; epoll_data_t data; /* events: - EPOLLIN - 读 - EPOLL...原创 2019-07-13 20:00:53 · 166 阅读 · 0 评论 -
(九)Linux网络编程之udp通信
一、udp通信流程server - 只有一个创建套接字//创建套接字int fd=socket()3.绑定本地IP和端口bind();通信接收数据:<font recvfrom原创 2019-07-14 15:59:50 · 190 阅读 · 0 评论 -
(四)Linux网络编程之多进程并发服务器、多线程并发服务器
一、三次握手二、四次挥手三、滑动窗口四、错误处理函数五、多进程并发服务器六、多线程并发服务器原创 2019-07-12 18:40:28 · 390 阅读 · 0 评论