志存高远

专注于C/C++

Linux网络编程--IO模型基础

IO的方式有阻塞IO、非阻塞IO模型、IO复用、信号驱动、异步IO等,本文以UDP为例大概介绍这几种IO模型的基础知识和原理。 1.阻塞IO 阻塞IO是最通用的IO类型,使用这种模型进行数据接收的时候,在数据没有到之前程序会一直等待。 2.非阻塞IO模型 3.IO复用 4.信...

2015-09-10 16:33:11

阅读数:1210

评论数:0

Linux c 源码(nMAsciiHexToBinary:将16进制字符串格式转换为ASCII码形式)

short nMAsciiHexToBinary( unsigned char* vspSourceStr, short          vnSourceStrL, unsigned char* vspDestStr) { if(vnSourceStrL % 2) return -1; ...

2015-09-22 15:39:46

阅读数:2063

评论数:0

刘备坚持攻打东吴,并非要为关羽报仇

刘备坚持攻打东吴,并非要为关羽报仇   根据《三国演义》的描述和大多数人的印象里,刘备倾蜀汉全国之力攻打东吴,是为了给死于东吴之手的义弟关羽报仇。我却认为,刘备之所以出兵攻吴,并不单纯是为了给云长报仇,他还有更深层次的意义。   为什么说刘备伐吴不是为关羽报仇呢?   首先,我们看,关羽败走...

2015-09-17 16:15:01

阅读数:2377

评论数:0

NSdata 与 NSString,Byte数组,UIImage 的相互转换

NSdata 与 NSString,Byte数组,UIImage 的相互转换1. NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUT...

2015-09-17 12:51:27

阅读数:656

评论数:0

Linux c 源码(issockettype:套接字描述符判定函数)

int issockettype(int fd) { struct stat st; int err = fstat(fd, &st);//获得文件的状态 if( err < 0 ) { return -1; } i...

2015-09-11 11:34:00

阅读数:695

评论数:0

Linux网络编程--非阻塞编程

非阻塞方式程序设计介绍非阻塞方式的操作与阻塞方式的操作最大的不同点是函数的调用立刻返回,不管数据是否成功读取或者成功写入。使用fcntl()将套接字文件描述符按照如下的代码进行设置后,可以进行非阻塞的编程: fcntl(s, F_SETFL, O_NONBLOCK); 其中的s是套接字文件描述...

2015-09-11 11:24:48

阅读数:1677

评论数:2

Linux网络编程--poll()和ppoll()函数

poll()函数 ppoll()函数

2015-09-11 10:48:16

阅读数:3161

评论数:0

Linux网络编程--select()和pselect()函数

函数select()和pselect()用于IO复用,它们监视多个文件描述符的集合,判断是否有符合条件的时间发生。 1.select()函数 函数select()与之前的recv()和send()直接操作文件描述符不同。使用select()函数可以先对需要操作的文件描述符进行查询,查看是否目标...

2015-09-10 17:14:44

阅读数:3327

评论数:0

Linux网络编程--信号阻塞与屏蔽(block,unblock)

Linux下当向一个进程发出信号时,从信号产生到进程接收该信号并执行相应操作的过程称为信号的等待过程(呃,根据对APUE的理解翻译的)。如果某一个信号没有被进程屏蔽,则我们可以在程序中阻塞进程对该信号所相应的操作。例如一个程序当接收到SIGUSR1信号时会进行一个操作,我们可以利用系统API阻塞(...

2015-09-10 15:02:10

阅读数:1944

评论数:0

Linux c 源码(readn:从fd中读取n字节数据)

/* Read "n" bytes from a descriptor. */ readn(int fd, void *vptr, size_t n) { size_t nleft; ssize_t nread; char *ptr; pt...

2015-09-08 11:15:30

阅读数:1305

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭