学习笔记
文章平均质量分 92
删库跑路打断腿
这个作者很懒,什么都没留下…
展开
-
Linux网络编程(8)libeven框架
libevent简介:Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和...原创 2020-03-03 09:30:56 · 349 阅读 · 0 评论 -
Linux网络编程(3)多进程并发服务器
在单进程通信中,该进程首先需要与客户端建立连接后,才能进行下一步的通信,只能够处理一个客户端的连接和通信请求,在有另一个客户端对其发起通信请求后,该客户端并不能够立即处理,为了解决这个问题,采用多进程并发服务器编程,首先父进程接收连接请求后,将fork出一个子进程,在子进程中完成与客户端的通信,父进程专门用于监听连接请求。多进程并发时候需要考虑的问题1.共享读时共享,写时复制在父子进程中,...原创 2019-07-13 17:30:04 · 156 阅读 · 0 评论 -
Linux网络编程(2)SOCKET编程与TCP三次握手
linu环境下Socket通信流程实际上是文件(内核的缓冲区)操作服务端socket tcp service创建套接字□ int lfd = socket绑定本地IP和端口(本地ip和端口存储在sockaddr_in结构体中)□ struct sockaddr_in serv;□ serv.port = htons(port);□ serv.IP= htonl(INADDR_AN...原创 2019-07-12 14:59:16 · 260 阅读 · 0 评论 -
Linux网络编程(4)TCP状态转换-select-poll
使用select实现IO多路转接相关知识TCP的状态转换TCP的状态转换:在进行通信的时候进程所处的状态会随着通信的状态发生改变在一个正常通信的模型中,服务器和客户端的状态变化如下L客户端:CLOSED->(第一次握手后)SYN_SENT->(第二次握手)ESTABLISTHED->(第一次挥手)FIN_WAIT_2->(第二次挥手)FIN_WAIT_2->...原创 2019-07-17 14:12:22 · 130 阅读 · 0 评论 -
Linux网络编程(5)epoll实现IO多路转接
NULL原创 2019-07-29 20:08:28 · 150 阅读 · 0 评论 -
Linux网络编程(6)UDP通信,广播和组播
Udp介绍UDP — ⽤户数据报协议,是⼀个⽆连接的简单的⾯向数据报的运输层协 议。UDP不提供可靠性,它只是把应⽤程序传给IP层的数据报发送出去,但 是并不能保证它们能到达⽬的地。由于UDP在传输数据报前不⽤在客户和服 务器之间建⽴⼀个连接,且没有超时重发等机制,故⽽传输速度很快。UDP是⼀种⾯向⽆连接的协议,每个数据报都是⼀个独⽴的信息,包括完整 的源地址或⽬的地址,它在⽹络上以任何可能的...原创 2019-08-06 15:12:20 · 414 阅读 · 0 评论 -
Linux网络编程(7)本地套接字通信
**TCP本地套接字通信:**为了实现没有血缘关系的进程之间通信,通常会采用本地套接字进行通信,在两个进程分别绑定好了套接字文件(.sock),运行程序后将产生两个套接字文件,这两个文件共享同一片内核缓冲区,内核将完成两个进程之间的数据传输在不同通信中采用不同的结构体实现流程(TCP实现)服务器1.创建套接字int lfd = socket(AF_LOCAL,SOCK_STREAM,...原创 2019-08-14 10:00:33 · 372 阅读 · 0 评论