1dup函数和dup2函数
#include
int dup(intoldfd);
int dup2(intoldfd, int newfd);
dup和dup2都可用来复制一个现存的文件描述符,使两个文件描述符指向同一个file结构体。如果两个文件描述符指向同一个file结构体,File
Status Flag和读写位置只保存一份在file结构体...
分类:
系统相关 时间:
2014-09-16 00:23:49
阅读次数:
254
1.依赖头文件
#include
#include
2.函数定义:
int truncate(const char *path,off_t length);
int ftruncate(int fd,off_t length);
函数说明:
The truncate() and ftruncate() functions cause the regular file named...
分类:
系统相关 时间:
2014-09-14 19:20:57
阅读次数:
289
1.依赖的头文件
#include
2.函数定义:
//通过传入path的方式,改变和文件的拥有关系,如果他是一个符号链接,则跟踪它
int chown(const char *path, uid_t owner, gid_t group);
//通过文件描述的方式进行修改用户所有组等的情况
int fchown(int fd, uid_t owner, gid_t group);
...
分类:
系统相关 时间:
2014-09-14 18:03:07
阅读次数:
321
由于水平有限,以下仅仅是个人的一些心得,希望对新人有一点参考作用。另外由于时间关系,写得有点杂,有些点可能并不是跟服务器编程强相关的。
性能相关
1. 应用各种pool。
a) Mempool
比如为了提高内存分配效率,可以使用Mem pool。当对应的场景简单时,可以自己定制私有的内存池管理。当内存池设计相对复杂的时候,可以考虑直接使用jemalloc、tcmallo...
分类:
其他好文 时间:
2014-09-06 09:48:53
阅读次数:
299
acl 中服务器框架模块是一个非常重要的模块,使用该模块技术人员可以快速地写出稳定、安全、高效的网络服务应用,该模块主要来源于著名的邮件服务器程序 (Postfix) 中的 master 模块,为了便于开发者使用...
分类:
其他好文 时间:
2014-09-01 14:10:23
阅读次数:
180
直接上图
Pomelo服务器端框架简单地可分为两层,即链接层(Connector、Gate)和服务层(Logic、Master),也叫前端服务器(frontend server)和后端服务器(backend server)。
链接层直接与客户端进行网络通信,客户端的请求通过链接层转发到服务层的Logic进行处理,处理完后将结果交由Connector转发给客户端。
这样的结构可...
分类:
其他好文 时间:
2014-08-24 19:26:32
阅读次数:
202
acl 工程从发布至今已经有近10年历史,已经被一些大公司的重要项目所使用,该工程提供了跨平台(LINUX, FreeBSD, WIN32, Solaris, MacOS)的网络通信库,其中包含了阻塞非阻塞两种通信方式,内部事件引擎支持 select/poll/epoll(linux)/kqueue(BSD)/devpool(solaris)/iocp(win32)/窗口消息(win32);另外,acl 库中的网络服务器框架是 acl 中最为重要的模块(其来源于著名的Postfix,由其中的 master ...
分类:
其他好文 时间:
2014-08-19 11:02:24
阅读次数:
310
代码来源:游双的linux高性能服务器编程
主进程创建一个进程池,当有客户端发送请求时,主进程选择一个进程与该客户端进行通信,为了简单期间,去掉了一些信号处理代码,其中信号的用法可以参考基于多进程的网络聊天程序
服务器代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-08-12 17:09:34
阅读次数:
179
参考:linux高性能服务器编程,作者:游双
程序简介:该程序用了共享内存来实现进程间的同步,由于只是同时读取共享内存,所以没有用到锁。该程序的功能是服务器监听网络连接,当有一个客户端连接时,服务器创建一个子进程处理该连接。每个子进程只负责自己的客户端以及和父进程通信。当子进程从客户端读取数据后,把数据放到共享内存上,每个子进程在共享内存上有自己的一段空间,因此不会出现同时写。放上去后通知父进程...
分类:
其他好文 时间:
2014-08-07 13:14:00
阅读次数:
230
服务器编程中,日志系统需要满足几个条件 .高效,日志系统不应占用太多资源 .简洁,为了一个简单的日志功能引入大量第三方代码未必值得 .线程安全,服务器中各个线程都能同时写出日志 .轮替,服务器不出故障是不重启的,半年一年的日志放到一个文件会导致文件过大 .及时保存,程序故障导致异常退出,此时需要通过...
分类:
其他好文 时间:
2014-08-03 12:28:55
阅读次数:
454