管道和FIFO作为最初的UNIX IPC形式,现在已用得较少。SocketPair可作为全双工版本的管道,较为常用,这里简单做个笔记管道* 只用于有亲缘关系的进程间通信* 单向,即半双工 (双向方法:1 使用2个管道 2 使用SocketPair)* pipe() => write()/read()...
分类:
其他好文 时间:
2015-05-06 12:24:14
阅读次数:
155
Unix域套接字简介《Unix环境高级编程》中对Unix域套接字有如下介绍:虽然socketpair函数创建相互连接的一对套接字,但是每一个套接字都没有名字。这意味着无关进程不能使用它们。我们可以命名unix域套接字,并可将其用于告示服务。但是要注意的是,UNXI与套接字使用的地址不同与因特网域套接字。UNIX域套接字的地址由sockaddr_un结构表示。在linux2.4.22中,sockadd...
分类:
系统相关 时间:
2015-04-02 22:42:07
阅读次数:
367
1.socketpair 2.sendmsg/recvmsg 3.UNIX域套接字传递描述字 功能:创建一个圈双工的流管道 原型: int socketpair(int domain, int type, int protocol, int sv[2]); 参数 domain :协议家族 type:...
分类:
系统相关 时间:
2015-02-27 16:28:23
阅读次数:
379
socketpair函数概要例如以下:#include #include int socketpair(int domain, int type, int protocol, int sv[2]);sys/types.h文件须要用来定义一些C宏常量。sys/socket.h文件必须包括进来定义soc...
分类:
其他好文 时间:
2015-01-29 22:22:40
阅读次数:
407
linux 下的 select 知识点 unp 的第六章已经描述的很清楚,我们这里简单的说下 select 的作用,并给出 select 的客户端实例。我们知道 select 是IO 多路复用的一个最简单支持,poll 和 epoll 是 select 的升级版。在UNIX 网络编程第五章读后有.....
分类:
系统相关 时间:
2015-01-13 19:20:31
阅读次数:
283
#include "stdio.h"#include "sys/socket.h"#include "unistd.h"int main(){ int s[2]; socketpair(AF_LOCAL, SOCK_STREAM, 0, s); int n; char buf[100]; ...
分类:
系统相关 时间:
2014-12-30 18:33:44
阅读次数:
233
Libevent设计的精化之一在于把Timer事件、Signal事件和IO事件统一集成在一个Reactor中,以统一的方式去处理这三种不同的事件,更确切的说是把Timer事件和Signal事件融合到了IO多路复用机制中。 Timer事件的融合相对清晰简单,其套用了Reactor和Proacto...
分类:
其他好文 时间:
2014-11-15 21:37:14
阅读次数:
310
socketpair函数概要例如以下:#include #include int socketpair(int domain, int type, int protocol, int sv[2]);sys/types.h文件须要用来定义一些C宏常量。sys/socket.h文件必须包括进来定义soc...
分类:
其他好文 时间:
2014-11-08 19:36:41
阅读次数:
164
使用该模型时,在服务端我们可以开辟两个线程,一个线程用来监听客户端的连接
请求,另一个用来处理客户端的请求。主要用到的函数为select函数。如:
线程1处理函数:
SOCKET listenSock = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
sockaddr_in sin;
sin.sin_famil...
分类:
其他好文 时间:
2014-10-15 09:23:10
阅读次数:
183
引言让服务器在启动阶段调用fork创建一个子进程池,通过子进程来处理客户端请求。子进程与父进程之间使用socketpair进行通信(为了方便使用sendmsg与recvmsg,如果使用匿名管道,则无法使用以上两个函数)。以下针对TCP进行分析。server端使用select轮询用于监听客户端请求的被...
分类:
系统相关 时间:
2014-10-12 21:43:28
阅读次数:
371