socketpairsocketpair:相比较之前提到的管道,socketpair是一个全双工的通信方式,它的一端即可以读也可以写,对于它我是这样理解的:假设现在我们是在本地使用socketpair的,客户端为fd[0],服务器端为fd[1],当服务器向客户端写数据时,从fd[1]的写端写入数据,而从fd[1]的读..
分类:
其他好文 时间:
2016-05-29 23:28:11
阅读次数:
339
一.5种I/O模型一个I/O可以分为两个过程:等待和数据搬迁。1.阻塞I/O两个过程都有自己来完成,其他什么事也不做。2.非阻塞I/O在等的过程中可以干一些其他的事,等到数据准备好再进行搬迁3.信号驱动I/O等数据准备好的过程由信号来触发,在这期间自己可以干一些别的事4.I/O复用同时..
分类:
其他好文 时间:
2016-05-27 07:12:30
阅读次数:
221
一、socket套接字“IP地址+端口号”就称为socket。在TCP协议里,建立连接的两个进程各自有一个socket标识,这两个socketpair就唯一标识一个连接,描述网络连接的一对一关系。Linux的基本哲学就是“一切皆文件”,其实socket就是一种特殊的文件,是“open—write/read—close”..
分类:
其他好文 时间:
2016-05-25 18:58:26
阅读次数:
272
sockpair实现进程间通信我们以前学习的利用管道(此处为匿名管道)实现进程间通信,只能是单向的,一边只能读而另一边只能写,且只能在有血缘关系的进程间才能通信,若想实现双向通信就必须创建双向管道,而sockpair它的实现就是双向管道进行通信。它可以用来创建双向通信管道1..
分类:
系统相关 时间:
2016-05-25 11:24:18
阅读次数:
455
一、什么是socketsocket本身有“插座”的意思,在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的个进程,“IP地址+端口号”就称为socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socketpair就唯一标识一个连接。套接字是一..
分类:
其他好文 时间:
2016-05-24 22:49:06
阅读次数:
187
一、socket编程1.socket编程socket这个词可以表示很多概念:在TCP/IP协议中,“IP地址+TCP或UDP端号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socketpair就唯一标识一个连接..
分类:
其他好文 时间:
2016-05-23 01:16:10
阅读次数:
204
我们先来看看socketpair函数的原型如下:intsocketpair(intdomain,inttype,intprotocol,intsv[])第一个参数表示协议族,必须为AF_LOCAL;第二个参数表示类型,既可以是SOCK_STREAM,又可以是SOCK_DGRAM,当参数指定为SOCK_STREAM时,得到的结果称为流管道,它与一般管道的区..
分类:
其他好文 时间:
2016-05-23 01:16:09
阅读次数:
1473
一、套接字(socket)套接字socket:ip地址+port端口号。在TCP/IP协议中,它唯一标识网络通讯中的一个进程。在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socketpair就唯一标识一个连接。socket本身有“插座”的意思,因此用来描述网络连接的一对..
分类:
其他好文 时间:
2016-05-23 01:13:25
阅读次数:
208
pipe用来创建管道,但是单个管道只能单向通信,一端用于读,而另一端用于写。如果要实现进程双向通信,必须创建一对管道。具体实现忽略。而socketpair则可以用来创建双向通信的管道。取决于底层实现,打开的还是一个文件,fd[0],fd[1],管道中f[0]读端,f[1]写端。#include<..
分类:
系统相关 时间:
2016-05-22 00:56:04
阅读次数:
247
使用pipe只能对有血缘关系的单向管道进行通信。不过,Linux实现了一个源自BSD的socketpair调用(3),可以实现上述在同一个文件描述符中进行读写的功能(该调用目前也是POSIX规范的一部分(4))。该系统调用能创建一对已连接的(UNIX族)无名socket。在Linux中,完全可以把这一对s..
分类:
其他好文 时间:
2016-05-22 00:55:00
阅读次数:
220