内核一般通过jiffies来获取当前时间,该数值表示的是最近一次系统启动到当前的时间间隔,它和设备驱动程序无关,因为它的声明期只限于系统的运行期;但是驱动程序可以用jiffies来计算不同事件之间的间隔;通常,利用jiffies值来测量时间间隔已经足够了,如果要测量更短的时间差,只能使用处理器特定的 ...
分类:
系统相关 时间:
2019-10-29 20:06:38
阅读次数:
220
三种IO复用类型 #include<sys/select.h> int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* execptfds,struct timeval* timeout); #nfds表示监听的文件描述符总数; ...
分类:
其他好文 时间:
2019-10-26 13:35:27
阅读次数:
103
原型: 参数: maxfd:描述需要监视最大文件描述符+1 rdset:监视的可读文件描述符的集合 wrset:监视的可写文件描述符的集合 exset:监视的异常文件描述符的集合 struct timeval:描述一段时间长度,如果在这个时间内,需要监视的描述符没有事件发生,返回0 返回值: 超时返 ...
分类:
其他好文 时间:
2019-10-11 18:26:14
阅读次数:
78
struct timeval { long tv_sec; /*秒*/ long tv_usec; /*微秒*/ }; 秒的定义为long,为了防止溢出,转换成毫秒之后保存在long long中 ...
分类:
其他好文 时间:
2019-06-05 22:14:13
阅读次数:
144
int connect_nonb(int sockfd, const SA *saptr, socklen_t salen, int nsec) { int flags, n, error; socklen_t len; fd_set rset, wset; struct timeval tval;... ...
分类:
其他好文 时间:
2019-04-26 22:27:51
阅读次数:
160
int readable_timeo(int fd, int sec) { fd_set rset; struct timeval tv; FD_ZERO(&rset); FD_SET(fd, &rset); tv.tv_sec = sec; tv.tv_usec = 0; return (sele... ...
分类:
其他好文 时间:
2019-04-24 17:48:20
阅读次数:
143
void dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen) { int n; char sendline[MAXLINE], recvline[MAXLINE + 1]; struct timeval tv; t... ...
分类:
其他好文 时间:
2019-04-24 17:23:24
阅读次数:
168
如何理解 Epoll select 和 poll 三种模型,能否用生活中的例子做比喻? 比如说你从某宝下单买了几个东西,这几个东西分别由N个快递员分别给你送过来。在某一时刻,你开始等快递。对于select/poll,就是你在睡觉的时候,收到一条短信“你有快递到了,取一下”,但不知道发送方是谁(但一定... ...
分类:
其他好文 时间:
2019-03-06 13:22:31
阅读次数:
173
上一个项目,需要mvc管理后台调接口项目,以便后期的重构扩展,调研后发现后台用的ajax请求,直接调接口可能会有跨域问题,最终在c#代码中实现了这个需求。 1,Ajax请求后台 将接口所需参数传入 2,模拟请求接口并返回json格式数据 3,将json数据反序列化 整体代码如下: 其中 1. Sig ...