上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页
摘要: 命名管道(FIFO)是进程间通信的一种方式。 API: DEMO: 两个地方需要注意: 1. mkfifo会在/tmp目录下创建文件my_fifo 2. 读进程open之前,写进程被阻塞 (it has to be open at both ends simultaneously before yo 阅读全文
posted @ 2017-03-14 11:21 Sawyer Ford 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 管道(pipe)是进程间通信的一种方式。 API: DEMO: 管道的特点: 1. 管道是半双工的(数据只能在一个方向上流动) 2. 管道只能在具有公共祖先的两个进程之间使用 对于从父进程到子进程的管道,父进程关闭管道的读端fd[0],子进程关闭写端fd[1]。 对于从子进程到父进程的管道,父进程关 阅读全文
posted @ 2017-03-14 09:58 Sawyer Ford 阅读(241) 评论(0) 推荐(0) 编辑
摘要: Linux下谈论I/O复用、高并发,一定会说到epoll。因为epoll是最有效的I/O复用方式。 epoll的使用非常简单,总共3个API: Linux2.6.8之后,size参数已被忽略,为了向前兼容,size大于0即可。 op有3种取值:EPOLL_CTL_ADD、EPOLL_CTL_MOD、 阅读全文
posted @ 2017-02-21 20:54 Sawyer Ford 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 在socket编程之并发回射服务器3篇文章中,提到了3种设计范式: 多进程 父进程阻塞于accept调用,然后为每个连接创建一个子进程。 多线程 主线程阻塞于accept调用,然后为每个连接创建一个子线程。 I/O复用 主进程阻塞于select调用,select负责监听listenfd和connfd 阅读全文
posted @ 2017-02-20 20:19 Sawyer Ford 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 在socket编程之并发回射服务器一文中,服务器采用多进程的方式实现并发,本文采用多线程的方式实现并发。 多线程相关API: pthread_join类似waitpid,用于等待一个线程的结束。 pthread_detach将线程状态变成detachable。 一个detachable线程终止后,它 阅读全文
posted @ 2017-02-19 13:44 Sawyer Ford 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 守护进程(daemon)是在后台运行且不与任何控制终端关联的进程。 与终端脱离有两个目的: 创建守护进程前首先需要理解几个概念:进程组、会话、控制终端。 每个进程除了有一进程ID(PID)之外,还属于一个进程组。 进程组是一个或多个进程的集合,每个进程组有一个进程组ID。 每个进程组有一个组长进程( 阅读全文
posted @ 2017-02-18 15:11 Sawyer Ford 阅读(904) 评论(0) 推荐(0) 编辑
摘要: 1. 添加用户 2. iptables里删除DROP 3306端口的规则 参考资料: 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost 阅读全文
posted @ 2017-02-16 11:28 Sawyer Ford 阅读(4166) 评论(0) 推荐(0) 编辑
摘要: 承接上文:socket编程之并发回射服务器 为了让服务器进程的终止一经发生,客户端就能检测到,客户端需要能够同时处理两个描述符:套接字和用户输入。 可以使用select达到这一目的: 函数声明如下: 之前的服务器程序通过多进程的方式来处理并发连接,我们也可以使用select对其进行改造: #incl 阅读全文
posted @ 2017-02-15 20:07 Sawyer Ford 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 对于一次I/O操作(以read为例),数据首先被拷贝到内核的某个缓冲区,然后再从内核缓冲区拷贝到应用进程缓冲区。 因此,一次I/O操作通常包含两个阶段: (1) 等待数据准备好 (2) 从内核向进程复制数据 Unix有5种I/O模型: 阻塞式I/O 非阻塞式I/O I/O复用(select, pol 阅读全文
posted @ 2017-02-13 21:11 Sawyer Ford 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 使用到的函数: 服务器程序: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #incl 阅读全文
posted @ 2017-02-11 17:43 Sawyer Ford 阅读(451) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 22 下一页