-
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
-
CAN_USB CAN_USB CAN_USB
CAN_USB CAN_USB -CAN_USB CAN_USB CAN_USB
- 2022-03-05 08:29:54下载
- 积分:1
-
一使用串口通讯的IC饭卡系统,消费终端与远程服务器通过串口连接...
一使用串口通讯的IC饭卡系统,消费终端与远程服务器通过串口连接-use of a serial communications IC Prerequisite system, consumption and Remote Terminal Server through Serial Link
- 2022-03-15 02:09:41下载
- 积分:1
-
Cadence SPW 4.8.2,viterbi解码的源码。
Cadence SPW 4.8.2,viterbi解码的源码。-Cadence SPW 4.8.2, the Viterbi decoder source.
- 2022-12-05 10:15:03下载
- 积分:1
-
CAsyncSocket局域网
基于CAsyncSocket的局域网通信程序-CAsyncSocket LAN-based communication program
- 2022-05-31 08:32:04下载
- 积分:1
-
从《无线通信FPGA设计》一书中摘录下来的WCDMA系统小区搜索的FPGA实现第三部分代码。...
从《无线通信FPGA设计》一书中摘录下来的WCDMA系统小区搜索的FPGA实现第三部分代码。-From the " Wireless FPGA Design" a book excerpt down the WCDMA system cell search FPGA to achieve the third part of the code.
- 2022-03-23 04:23:26下载
- 积分:1
-
直接数字合成(DDS)技术具有信号频率分辨率高、控制灵活、可编程及任意波形输出等优
点...
直接数字合成(DDS)技术具有信号频率分辨率高、控制灵活、可编程及任意波形输出等优
点-direct digital synthesis (DDS) technology with high resolution signal frequency, flexible control, and programmable arbitrary waveform output advantages
- 2023-02-13 09:25:03下载
- 积分:1
-
SOVA软输出Viterbi算法
SOVA Soft out put viterbi Algorithm
- 2023-05-14 03:20:02下载
- 积分:1
-
国家FSK标准协议(中国来电显示标准FSK5式)没有密码
国家FSK标准协议(中国来电显示标准FSK5式)没有密码-national standard protocols (China CND standards FSK5-) No Password
- 2022-12-11 22:50:03下载
- 积分:1
-
使用tapi实现的用语音modem进行接电话并播放wav文件的程序
使用tapi实现的用语音modem进行接电话并播放wav文件的程序-A program which is realised by tapi, and in which a call is picked up and wav files can be played through voice modem
- 2022-10-08 22:55:03下载
- 积分:1