关闭
当前搜索:

理解HTTP协议的Request/Response(请求响应)模型

我们知道HTTP协议是一种无状态的协议,及客户端和服务器端不需要建立持久的链接。客户端和服务器的链接是基于一种请求应答模式。及客户端和服务器建立一个链接,客户端提交一个请求,服务器端收到请求后返回一个响应,然后二者就断开链接。     这里我们比较熟悉的一个案例是一个多图网页的浏览。     1。建立连接,客户端发送一个网页请求,服务器端返回一个html页面(这里的页面只是一个纯文本的文本,也...
阅读(954) 评论(0)

Linux如何修改默认启动模式(默认运行级)?

修改默认运行级 就是修改/etc/inittab (inittab是个文件) 打开文件后,找到 id:5:initdefault: 其中的5就是x-window为默认运行级 将5改为3即可(1和2也可以,不过有些服务不会加载)...
阅读(803) 评论(0)

菜鸟的学习之旅-APUE多线程小例子(1)

子线程读取文件-父线程进行其它工作 #include // printf() #include #include #include // open() #include // strcpy() #include // fork() int main(int ac, char* av[]) { int fd;...
阅读(679) 评论(0)

Vim 配置详解

首先安装完整版本的VIM  如果是在Linux下,可以安装VIM-Enhance使其扩展为完整版本的VIM,如果在Windows下,直接安装它的Binary就行了。 当然自己编译安装可能更好些。 安装成功以后就是第二步设置vim  vim通过一个叫vimrc的文件来进行设置  默认安装的vim-tiny的设置文件可以在/usr/share/vim中找到,果然极其简洁  这里...
阅读(649) 评论(0)

成为伟大开发者的“九步曲”

摘要:作为一名优秀的开发者,应当具备哪些优秀的品质?原文作者Gregor Riegler发表了一篇博文《What makes a great Developer》,文中提到了成就优秀开发者的九大品质包括:激情、好奇心、谦虚、韧劲、一丝不苟等。 如何成为一名优秀的开发者?你觉得自己算是一名优秀的开发者吗?如果是的话,你有没有考虑过,作为一名优秀的开发者,应当具备哪些优秀的品质?原文作者Gr...
阅读(616) 评论(0)

UNIX环境高级编程读书笔记(十二)—高级IO (4)

四、存储映射I/O        存储映射I/O使一个磁盘文件与存储空间中的一个缓冲区相映射。于是当从缓冲区中取数据,就相当于读文件中的相应字节。与此类似,将数据存入缓冲区,则相应字节自动地写入文件。这样就可以在不使用read和write的情况下执行I/O。   6. 名称:: mmap 功能: 把I/O文件...
阅读(621) 评论(0)

UNIX环境高级编程读书笔记(十二)—高级IO (3)

4. 名称:: pselect 功能: 指行I/O多路转接 头文件: #include 函数原形: int pselect(int masfdp1,fd_set *restrict readfds,fd_set *restrict writefd...
阅读(631) 评论(0)

UNIX环境高级编程读书笔记(十二)—高级IO (2)

二.I/O多路转接        如果我们想从多个文件描述符读或写数据,如果我们用以前学过的函数(read,write等)去处理可能会阻塞在一个文件描述符上,不能处理其他的文件描述符。那是因为我们以前学的I/O处理函数,都是阻塞的I/O处理函数,它们的特点是,如果缓冲区里有数据它们就会把数据写到文件中,如果缓存区没有数据他们就会等待(阻塞)直到有数据可读。这就造成了他们无法对多个文件描述符进...
阅读(662) 评论(0)

UNIX环境高级编程读书笔记(十一)—终端IO (2)

字段 标志 说明 c_cflag CCTS_OFLOW 输出的CTS流控制   CIGNORE 忽略控制标志   CLOAL 忽略调制解调器状态行   CREAD 启用接收...
阅读(744) 评论(0)

UNIX环境高级编程读书笔记(十一)—终端IO (1)

1.什么是Linux的终端I/O,它分为几种类型。        终端是一种字符型设备,有多种类型,通常使用tty来简称各种类型的终端设备。终端特殊设备文件一般有以下几种: 串行端口终端(/dev/ttySn) ,伪终端(/dev/pty/),控制终端(/dev/tty) ,控制台终端(/dev/ttyn, /dev/console). 1. 串行端口终端(Serial Port Te...
阅读(773) 评论(0)

UNIX环境高级编程读书笔记(十)—信号 (5)

11. 名称:: sigsuspend 功能:   头文件: #include 函数原形: int sigsuspend(const sigset_t *sigmask); 参数: sigmask 要替换的进程信号屏蔽...
阅读(637) 评论(0)

UNIX环境高级编程读书笔记(十)—信号 (4)

四、信号屏蔽字: 有时候我们希望进程正确的执行,而不想进程受到信号的影响,比如我们希望上面那个程序在1秒钟之后不结束。这个时候我们就要进行信号的操作了。 信号操作最常用的方法是信号屏蔽。信号屏蔽要用到下面的几个函数。 sigemptyset,sigfillset,sigaddset,sigdelset,sigismember,sigprocmask。下面对他们分别进行讲解。...
阅读(699) 评论(0)

UNIX环境高级编程读书笔记(十)—信号 (3)

4. 名称:: alarm 功能: set an alarm clock for delivery of a signal 头文件: #include 函数原形: unsigned int alarm(unsigned int seconds);...
阅读(657) 评论(0)

UNIX环境高级编程读书笔记(十)—信号 (2)

二、不可靠信号安装和发送函数。 1. 名称:: signal 功能: 信号安装(设置信号关联动作) 头文件: #include 函数原形: typedef void (*sighandler_t)(int); sighandler_t...
阅读(649) 评论(0)

UNIX环境高级编程读书笔记(十)—信号(1)

1、信号本质与来源 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知功能外,...
阅读(643) 评论(0)

UNIX环境高级编程读书笔记(九)—进程关系 (2)

二、会话 4. 名称:: setsid 功能: 建立一个会话 头文件: #include 函数原形: pid_t setsid(void); 参数: 无 返回值: 若成...
阅读(670) 评论(0)

UNIX环境高级编程读书笔记(九)—进程关系 (1)

一、进程组 1. 名称:: getpgrp 功能: 得到进程的进程组id 头文件: #include 函数原形: pid_t getpgrp(void); 参数: 无 返回值:...
阅读(686) 评论(0)

UNIX环境高级编程读书笔记(八)—进程控制 (3)

四、执行新程序 9. 名称:: exec 功能: 执行一个新程序 头文件: #include 函数原形: int execl(const char *path,const char *arg,…); int execlp(const...
阅读(702) 评论(0)

UNIX环境高级编程读书笔记(八)—进程控制 (2)

6. 名称:: vfork 功能: 创建一个进程 头文件: #include #include 函数原形: pid_t vfork(void); 参数: 无 返回值:...
阅读(664) 评论(0)

UNIX环境高级编程读书笔记(八)—进程控制 (1)

转自: http://rpf413.blog.163.com/blog/static/45563760201153022139656/ 一、进程ID 1. 名称:: getpid 功能: 获得进程id. 头文件: #include 函数原形:...
阅读(641) 评论(0)
39条 共2页1 2 下一页 尾页
    个人资料
    • 访问:716753次
    • 积分:8987
    • 等级:
    • 排名:第2506名
    • 原创:182篇
    • 转载:125篇
    • 译文:1篇
    • 评论:109条
    博客专栏
    初识Qt

    文章:43篇

    阅读:147934
    文章分类
    最新评论