-
linux epoll模型
该代码是关于在linux平台下的网络编程,epoll模型,socket接受线程:C语言为了高并发所以选择了epoll。当程序启动的时候(g_net_update.c文件中main函数,会启动一个thread见函数create_accept_task)这个thread就处理一件事情,只管接收客户端的连接,当有连接进来的时候 通过epoll_ctl函数,把socket fd 加入到epoll里面去,epoll设置监听事件EPOLLIN | EPOLLET; 主要是监听的是加入到epoll中的socket是否可读(因为我的需求是客户端连上了server就会马上向server发送一份数据的)。其它的部分在主线程中处理。主线程:是一个无线循环,epoll_wait 函数相当于把客户端的连接从epoll中拿出来(因为我们监听的是EPOLLIN | EPOLLET)说明这个时候客户端有数据发送过来)。再通过recv_buffer_from_fd 函数把客户端发送过来的数据读出来。然后其他的一切就抛给线程池去处理。线程池:(代码中我会在池里面创建15个线程) 双向链表。加入线程就是在链表后面加一个链表项,链表的前面会一个一个被拿出来处理。主要是malloc 函数free函数,sem_wait函数sem_post的处理(sem_wait 会阻塞当值大于0是会减一,sem_post是值加一)。typedef void* (FUNC)(void arg, int index);是我们自定义的线程的逻辑处理部分,arg是参数,index是第几个线程处理(我们隐形的给每个线程都标了号),例如代码中的respons_stb_info,更加具体可以看看代码里面是怎么实现的。聪明的你也可以改掉这块的内容改成动态线程池,当某个时刻的处理比较多的时候能够动态的增加线程,而不像我代码里面的是固定的。数据库连接池:按照我的需求在处理客户端请求数据的时候是要访问数据库的。就是一下子创建出一堆的数据连接。要访问数据库的时候先去数据库连接池中找出空闲的连接,具体可以看下代码。使用的时候可以参考下database_process.c文件(代码中数据库连接池和线程池中的个数是一样的)。
- 2022-03-20 03:15:54下载
- 积分:1
-
TI的32MM玻璃管卡读写资料,多页读写
TI的32MM玻璃管卡读写资料,多页读写-TI
- 2023-09-06 04:00:03下载
- 积分:1
-
it is to describe 3 D coding for OFDM
it is to describe 3 D coding for OFDM
- 2022-09-15 21:30:03下载
- 积分:1
-
The program is HDB3 code between code and message conversion, and in some conver...
该程序是将HDB3码与消息码相互转换,在某些转换方面的东西做的不是很好,求高人改进-The program is HDB3 code between code and message conversion, and in some conversion to do something not very good, seeking to improve Gao Ren
- 2022-08-09 01:06:42下载
- 积分:1
-
用于网络通讯测试,测试网络通讯的误码率.
用于网络通讯测试,测试网络通讯的误码率.-For network communications test, test network communications BER.
- 2022-07-16 15:49:30下载
- 积分:1
-
this a book space time codes and mimo system..its vey useful book
this a book space time codes and mimo system..its vey useful book-this is a book space time codes and mimo system..its vey useful book..
- 2022-06-19 03:51:49下载
- 积分:1
-
用VC实现PC并行端口数字信息的输入/输出.
用VC实现PC并行端口数字信息的输入/输出.-With VC realize PC parallel port digital information input/output.
- 2022-01-30 10:41:54下载
- 积分:1
-
远程抓屏软件,有客户端和服务端俄国热各国二个二个阿大哥哥尔格...
远程抓屏软件,有客户端和服务端俄国热各国二个二个阿大哥哥尔格
- 2022-05-09 10:16:07下载
- 积分:1
-
当个小区内的marco-femto 吞吐量仿真
一个小区内,鼠标任意部署marco、femto以及他们的用户,设置好楼宇、街道数,可仿真出每个marco、femto以及他们用户的吞吐量,有图形界面显示,能运行,非常实用,可用于扩展成更复杂的网络结构,研究同层跨层的干扰。
- 2022-03-13 11:09:26下载
- 积分:1
-
通过电脑串口对89SXX型单片机编程,此为单片机端的程序
通过电脑串口对89SXX型单片机编程,此为单片机端的程序-computer serial port right 89SXX type microcontroller programming, such as SCM side of the process
- 2022-09-12 04:10:03下载
- 积分:1