![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
lj779323436
这个作者很懒,什么都没留下…
展开
-
epoll实现简单socket通信
epoll是常用的socket通信方式,相比于select和poll来说,效率提升了不止一点半点 其一:select中socket描述符(文件描述符)集的数据结构为数组,poll的文件描述符集数据结构为链表,无论数组还是链表,它们都是线性结构,当遍历时,也只能线性遍历;而epoll文件描述符集采用的红黑树(平衡二叉树的一个变体)的数据结构,红黑树的遍历则相比于线性遍历,效率要高很多。 其二:select和poll对文件描述符集先要拷贝到内核区,内核修改后再拷贝至用户区,要经过2次...原创 2020-06-28 14:51:29 · 1715 阅读 · 1 评论 -
linux C实现socket通信(单线程和多线程的实现)
socket通信是网络编程的基础,对于其概念的解释以及知识点的介绍网上都写的很详细了,这里不再啰嗦,这里主要是基于linux实现简单的客户端服务器端通信,功能为从客户端输入一行字符(可包含空格),服务器收到后进行显示并将收到的字符串再发送给客户端,并且服务器端可以一直对客户端的连接进行监听(这里先只实现一个客户端的连接,后面引入多线程,让多个客户端可以同时连接服务器端)。服务器端流程为创建socket->绑定->监听->连接->通信->关闭socket代码里有详细注释,原创 2020-06-05 23:02:30 · 3482 阅读 · 1 评论