本文详细地介绍了在 Linux 2.6.13 内核中新引入的文件系统变化通知机制 inotify,并举例说明了它的使用与典型应用案例。
继续阅读 »
inotify — Linux 2.6 内核中的文件系统变化通知机制
IO复用高级应用:同时处理TCP和UDP服务
一个socket只能与一个socket地址绑定即一个socket只能监听一个端口,服务器如果要同时监听多个端口就必须创建多个socket,若在同一个端口监听多个服务也要创建多个socket绑定到这个端口上。现在服务器监听一个端口上的TCP和UDP请求,并将发送来的数据回射到客户端。
继续阅读 »
Linux下基于TCP多线程服务与客户的实现
本例子是本人Linux下基于TCP多线程Socket编程的第二个例子,本例子是用C++实现的
服务器采用了面向对象的多线程,用到了队列与链表,信号量(操作系统中叫PV操作)
本例子中的队列与链表源代码在前面可以找到,这里就不多贴了
此系统所支持的自定义命令跟上个例子相同,就里就不多说明了
继续阅读 »
C++的类型转换:static_cast、dynamic_cast、reinterpret_cast
C 风格(C-style)强制转型如下:
(T) exdivssion // cast exdivssion to be of type T
函数风格(Function-style)强制转型使用这样的语法:
T(exdivssion) // cast exdivssion to be of type T
这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式称为旧风格(old-style)的强制转型。
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterdivt_cast、和const_cast。
继续阅读 »
近期评论