-
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
-
mo phong ber cua OFDM
mo phong ber cua OFDM
- 2022-07-10 03:35:50下载
- 积分:1
-
this procedure is to control the frequency
这个程序是控制NRF24E1的跳频的测试程序,通过这个程序可以了解跳频的实现方法-this procedure is to control the frequency-hopping NRF24E1 testing procedures, this procedure can understand the method of frequency hopping
- 2023-08-09 07:20:03下载
- 积分:1
-
FIDO网超大文件传输的C语言源程序,仅仅只是为了学习和交流
FIDO网超大文件传输的C语言源程序,仅仅只是为了学习和交流 -FIDO super network file transfer the C language source files, merely to learn and exchange
- 2022-05-17 13:05:18下载
- 积分:1
-
这个也是关于空间谱的matlab 挺好的 可以
这个也是关于空间谱的matlab 挺好的 可以-This is on the spatial spectrum of matlab can be quite good
- 2022-03-21 11:53:12下载
- 积分:1
-
Power electronic equipment communication protocol, MODBUS, describes in detail
电力电子设备通讯协议,MODBUS,介绍详细-Power electronic equipment communication protocol, MODBUS, describes in detail
- 2023-08-14 18:50:02下载
- 积分:1
-
串口编程调试精灵(VC++串口通信实例导航)源码
串口编程调试精灵(VC++串口通信实例导航)源码-Serial Programming Debugging the wizard (VC++ Serial Communication instance navigation) source
- 2022-02-03 01:35:43下载
- 积分:1
-
简化SPCOMM,去掉一些编程不常用功能 串口通讯控件
简化SPCOMM,去掉一些编程不常用功能 串口通讯控件-Serial Communication Control
- 2022-04-12 02:45:42下载
- 积分:1
-
在VB下面做的一个调用WINIO实现并口通讯的小例子(内含时序配合)...
在VB下面做的一个调用WINIO实现并口通讯的小例子(内含时序配合)-done in VB below the realization of a parallel port call WINIO communications small examples (intron timing tie)
- 2022-02-07 08:20:29下载
- 积分:1
-
通信原理的所有公式
考研用的,大家可以下来参考
通信原理的所有公式
考研用的,大家可以下来参考-Communication principle of all formulas used in PubMed, we can down the reference
- 2022-01-26 03:01:36下载
- 积分:1