摘要:
说明:本文来自翻译epoll man文档。1、ET,LT这两种事件分发机制的不同。我们假定一个环境: 1. The file descriptor that represents the read side of a pipe ( RFD ) is added inside the epoll device. 2. Pipe writer writes 2Kb of data on the write side of the pipe. 3. A call to epoll_wait(2) is done that will return RFD as ready file descripto 阅读全文
摘要:
linux中使用TCP通信示例socket通信,是最常见的风格应用。示例代码 阅读全文
摘要:
1、epoll使用模型示例程序1View Code for(;;){ nfds = epoll_wait(epfd, events, 20, 500); for(i = 0; i < nfds; ++i) { if(events[i].data.fd == listenfd) //监测到有新的连接 { connfd = accept(listenfd, (sockaddr *)&clientaddr, &clilen); //accept这个连接 ev.data.fd = connfd; ... 阅读全文
摘要:
1、常用函数 有:epoll_create, epoll_ctl和epoll_wait。Linux-2.6.19又引入了可以屏蔽指定信号的epoll_wait: epoll_pwait。至此epoll家族已全。其中epoll_create用来创建一个epoll文件描述符,epoll_ctl用来添加/修改/删除需要侦听的文件描述符及其事件,epoll_wait/epoll_pwait接收发生在被侦听的描述符上的,用户感兴趣的IO事件。epoll文件描述符用完后,直接用close关闭即可,非常方便。事实上,任何被侦听的文件符只要其被关闭,那么它也会自动从被侦听的文件描述符集合中删除,很是智能。 每 阅读全文
摘要:
1、基于概念 epoll是一种机制,来处理大量并发连接时事件的读写顺序。在linux的网络编程中,很长的时间都在使用select来做事件触发。2.5.X内核后,引入epoll。epoll是Linux内核为处理大批量句柄而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它不会复用文件描述符集合来传递结果而迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的 阅读全文
摘要:
在linux下输入或显示中文或通过secureCRT连接linux,常有中仍乱码,关键是要设置中文字符集,通过locale这个变量。Locale是软件在运行时的语言环境,它包括语言(Language),地域(Territory)和字符集(Codeset)。一个locale的书写格式为:语言[_地域[.字符集]]。与中文输入关系最密切的就是LC_CTYPE,LC_CTYPE规定了系统内有效的字符以及这些字符的分类;LC_CTYPE:使用所指定地区的字符集(字母、数字、标点符号等)。设定locale就是设定12大类的locale分类属性,即12个LC_*。除了这12个变量可以设定以外,为了简便起. 阅读全文
摘要:
1、基本规则锚点----标识位置 ^: 表示句首. $: 表示句尾. \<: 表示詞首. \>: 表示詞尾. 修饰符*: 表示前一個 char. set 的出現次數為 0 或多次,[a-z]+able.?: 表示前一個 char. set 的出現次數為 0 或 1 次. +: 表示前一個 char. set 的出現次數為 1 或多次.{n}: 表示前一個 char. set 的出現次數必須為 n 次. |: 或匹配,如a|b|c匹配a或b或c(): 分组符号,如,love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov{n,}: 表示前一個 char. 阅读全文
摘要:
1、Usage: grep [OPTION]... 'PATTERN' [FILE]...Search for PATTERN in each FILE or standard input.PATTERN is, by default, a basic regular expression (BRE).Example: grep -i 'hello world' menu.h main.c2、常用参数【option】1)-E,--extended-regexp采用扩展表示式去解释样式。-i, --ignore-case ignore case distincti 阅读全文
摘要:
1、recv和send函数提供了和read和write差不多的功能。但是他们提供了第四个参数来控制读写操作. int recv(int sockfd,void *buf,int len,int flags) int send(int sockfd,void *buf,int len,int flags) 前面的三个参数和read,write相同,第四个参数能够是0或... 阅读全文
摘要:
1)安装vim-enhanced包 rpm -qa | grep vim (一般都有安装包,此步可省) 2)修改secureCRT的属性:Options->SessionOptions ->Emulation,然后把Terminal类型改成xterm,并点中ANSI Color复选框。 3)按Esc->:进入命令模式输入syntax on也没有效果;这是因为vi没有识别当前... 阅读全文