摘要: 1.迭代服务器模型 1.1 迭代服务器是处理多个请求时一种最简单直接的思路,即使用while循环,它不具有并发能力,即必须一个一个的处理客户的请求。 1.2 程序示例。#include "def.h"int listenfd_init(); //返回一个处于监听状态的套接字描述符void do... 阅读全文
posted @ 2014-07-30 23:37 Monica_Lee 阅读(840) 评论(0) 推荐(0) 编辑
摘要: 1.select 模型 1.1 select 函数原型如下,其中 nfds 表示的描述符的最大值加1(因为这里是左闭右开区间),中间三个参数分别表示要监听的不同类型描述符的集合,timeout用来表示轮询的时间间隔,这里用NULL表示无限等待。 1.2 使用 select函数编写客户端程... 阅读全文
posted @ 2014-07-29 23:46 Monica_Lee 阅读(462) 评论(0) 推荐(0) 编辑
摘要: #ifndef __DEF_H__#define __DEF_H__#include #include #include #define TRUE 1#define FALSE 0//任务结构体typedef struct{ void (*thread_function_ptr_) (void... 阅读全文
posted @ 2014-07-28 22:04 Monica_Lee 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1. readn 和 writen 1.1 基础巩固: read 和 write 函数的返回值 1.1.1 read 函数原型为:ssize_t read(int fd, void* buf, size_t count); (这里的 void *在标准 C 中表示通用指针即任意类型的指针都可... 阅读全文
posted @ 2014-07-25 23:50 Monica_Lee 阅读(2776) 评论(0) 推荐(0) 编辑
摘要: 1. fork 1.1 通过 fork 创建的父子进程对于fork之前打开的fd,共享文件偏移量。这是因为,父进程fork一个子进程后,会有自己的进程表项,因此二者各有一套相同的文件描述符表,他们共享了文件表项,因而也就共享了偏移量。此外,close 的关闭采用的是引用计数,当执行close时,是... 阅读全文
posted @ 2014-07-25 23:43 Monica_Lee 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 1.基础知识巩固 1.1 中断分为两类: a)硬中断,就是通常所说的中断,中断处理程序运行在内核态,需要一定的硬件支持; b)软中断,是在软件层次上对中断的一种模拟,就是常说的信号,它的处理程序运行在用户态。它是软件级别的,不需要特定的硬件支持。 1.2 常见的信号:(用kill -... 阅读全文
posted @ 2014-07-25 22:10 Monica_Lee 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 1. dup 函数 1.1 dup 函数用来复制一个文件描述符,复制后的文件描述符可以正常使用(见例1)。dup函数返回当前文件描述符表中一个最小的可用的文件描述符(Linux下分配文件描述符的规则是:寻找最小可用),这个过程由系统来完成。dup函数成功执行后,两个文件描述符fd_1 和 fd_2... 阅读全文
posted @ 2014-07-23 22:45 Monica_Lee 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 1.再说智能指针 1.1 为什么要用智能指针?对于一个指针,它指向一个动态分配内存的对象,若同时有多个指针指向该对象,那么当我们delete的时候,就会出现delete 一个无效内存的错误,因为该对象已经被delete过了,所以这就造成了错误。针对这一情况,我们想到,new 和 delete 必须... 阅读全文
posted @ 2014-07-22 23:07 Monica_Lee 阅读(452) 评论(0) 推荐(1) 编辑
摘要: 1. 通过子类对象来调用函数: a)从父类继承而来的函数,可以正常使用; b)子类自行添加的函数,可以正常使用; c)子类编写和父类重名的函数,不管是否改变了参数,调用的都是子类的版本,如果需要调用父类的版本,需要显示指定父类名。 例1:#include #include using nam... 阅读全文
posted @ 2014-07-21 23:28 Monica_Lee 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 0.两个要点a) 一个空类,编译器自动合成默认无参构造函数、析构函数、拷贝构造函数、赋值运算符。b) 在编写类的时候,必须严格区分对象是否可复制。1.运算符重载之 string类1.1 运算符重载的几个要点:a) 运算符重载可以有成员函数和友元函数的形式,后者比前者多一个参数。b) =和+=必须重载... 阅读全文
posted @ 2014-07-19 15:24 Monica_Lee 阅读(491) 评论(0) 推荐(1) 编辑