05 2013 档案
摘要:epoll或者kqueue的原理是什么?为什么epoll和kqueue可以用基于事件的方式,单线程的实现并发?我没看过linux内核,对这方面一直有疑问……可能我没有说太明白,我知道您说的这些,我是想了解底层原理。在底层,linux内核是如何知道这些事件的,通过轮询吗? 添加评论分享按票数排序3 个回答蓝形参,皈依Node.js14 票,来自xiaoLee、崔松辉、马依诺 更多我不了解楼主的层次,我必须从很多基础的概念开始构建这个答案,并且可能引申到很多别的问题。首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,
阅读全文
摘要:# -*- coding: utf-8 -*-import os#查找路径PATH='D:\\lcc'#查找文件名后缀,如果为''则查找所有文件SUFFIX = '.c' #查找.c文件#查找的字符串STRING = '06'#存放文件名的链表files = []result = []def getFiles(path): #如果路径不是以\\结尾则补上 if path[-1:] != '\\': path += '\\' dirFiles = os.listdir(path) for file i
阅读全文
摘要:新闻:nginx 1.3.9-1.4.0版本文件http/ngx_http_parse.c代码中的ngx_http_parse_chunked()函数在对 chunked的长度进行解析时未考虑到该值为负数的情况,导致后续发生基于栈的缓冲区溢出。远程攻击者无需认证即可利用此漏造成nginx拒绝服务,甚 至执行任意代码。ngx_int_tngx_http_parse_chunked(ngx_http_request_t *r, ngx_buf_t *b, ngx_http_chunked_t *ctx){ u_char *pos, ch, c; ngx_int_t rc; enum { sw_ch
阅读全文
摘要:正常情况下一个网卡对应一个ip,在进行socke客户端编程时,如果不调用bind方法则默认客户端绑定本机第一块网卡的ip。如果我们想用第二个ip来和服务器进行socket通信则需调用bind方法,并在传入sockaddr_in的结构体中指定端口和ip。 在linux服务器上进行测试,服务器网卡的ip是192.168.8.122,我新增一个虚拟ip:192.168.8.133(linux命令:ifconfig eth0:1 192.168.8.133 netmask 255.255.255.0)代码:#include <stdio.h>#include <netinet/in.
阅读全文

浙公网安备 33010602011771号