📄 readme
字号:
这套代码源于"分布式邮件系统"所必需的基础设施.1.线程池函数库. 类似apache2.0的多线程技术,目的在于解决网络服务器在并发客户数很大的情况下服务器进程分配(fork)而带来的效率瓶颈.至于效率究竟如何,由于没有做完就从原公司辞职,没有实际的需求让我测试.请大家将测试或使用的结果数据发给我,好做个参考,以便发现问题,做进一步的改进.2.数据库连接管理. 因为mysql数据库支持有限个连接,当用mysql作为邮件系统后台数据存储时,若同时有很多用户存取数据,就有一定数量的用户不能被响应. 这一部分就是为了解决上述问题,我的进程一次获得所有的mysql连接,然后客户从我的进程获取mysql连接,当连接被用完时,客户端阻塞,直到有其他mysql连接被释放,自动唤醒阻塞的连接.实际上这套函数库可以当作C程序员构件网络服务器客户程序的基础设施,即无需了解复杂的底层系统调用,无需了解众多底层协议细节,让你轻松的写出网络程序,轻松的解决并发超时等问题.作用可能相当与C++的ACE网络函数库.mysql管理部分结合线程池也很实用,代码效率上不好与现有的一些自由软件如apache sqlrelay相比.效率要求不是特别苛刻的话,至少可以避免重复劳动,带来不少生产力的提高,呵呵.以下是一些文件说明:s_io.c socket套接字数据读写函数,类似标准IO库.network.c 网络服务器函数,如监听,连接等.service.c 预分配,线程池函数,sql_pool.c mysql数据库连接管理函数client.c 客户程序daemon.c 服务器程序在debian linux 2.6上编译运行通过,freebsd,solaris本来可能会有些问题.使用说明不是很详细,恐怕无人使用,若有需要,我会写的更详细一些.有任何问题或建议, 请Email : xiaoping.ch@gmail.com 2006/1/27
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -