![](https://i-blog.csdnimg.cn/direct/4cd725e2aade4bcf84fbfecb47df0ab8.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux
文章平均质量分 88
Linux 编程
Axyzstra
这个作者很懒,什么都没留下…
展开
-
线程池实现服务端
该任务在主线程中完成,在完成 1-3 步后,我们需要将任务添加到任务队列,那么我们需要参数,在前面分析过,此处需要的参数为用于监听的文件描述符和线程池,定义该结构体,将任务添加到任务队列即可;在获取以上信息后,即可监听客户端,当收到请求后,会创建连接并得到通信文件描述符以及客户端的地址;其中任务即函数,需要定义两个函数,一个用于接收请求,一个和客户端通信;将服务端的任务抽象为两个任务,即接收客户端请求,和客户端通信;用于通信的函数需要的参数为 用于通信的文件描述符,客户端的 addr;原创 2024-09-09 19:20:29 · 754 阅读 · 0 评论 -
多线程服务端实现
要实现多线程功能,即服务器能和多个客户端进行通信,对服务端的代码进行修改即可。客户端的代码不动。原创 2024-09-09 11:30:17 · 466 阅读 · 0 评论 -
C++ 实现线程池
线程池的基本概念是,在应用程序启动时创建一定数量的线程,并将它们保存在线程池中。当需要执行任务时,从线程池中获取一个空闲的线程,将任务分配给该线程执行。当任务执行完毕后,线程将返回到线程池,可以被其他任务复用。原创 2024-09-06 21:20:45 · 916 阅读 · 0 评论 -
单线程 TCP/IP 服务器和客户端的实现
需要指定协议簇为 IPv4(AF_INET),端口为 9898,注意此处的 9898 在主机上的存储方式为小端,需要将其转化为网络中的存储方式即大端。定义缓冲区 buff 用于存放接收到的数据和放置需要发送的数据;指定服务器地址,并将字符串转换为网络中的字节序 ip;使用 fd 监听客户端请求,若收到请求,将客户端的 ip 和端口信息写入。使用套接字 cfd 进行通信,将接收到的数据放入 buff 中;是将监听的文件描述符 fd,和本机的 ip 和端口进行绑定;将主机上的端口转化为网络中的端口;原创 2024-09-08 18:20:18 · 1382 阅读 · 0 评论