socketpair_socketpair pipe_browser 2.3.5 浏览器

电脑杂谈  发布时间:2017-03-14 04:03:26  来源:网络整理

socketpair_browser 2.3.5 浏览器_socketpair pipe

socketpair函数概要如下:

#include

#include

int socketpair(int domain, int type, int protocol, intsv[2]);

socketpair函数需要四个参数。他们是:

套接口的域

套接口类型

使用的协议

指向存储文件描述符的指针

1. 类型参数声明了我们希望创建哪种类型的套接口。

socketpair函数的类型选择如下:

SOCK_STREAM

socketpair_socketpair pipe_browser 2.3.5 浏览器

SOCK_DGRAM

2. 对于socketpair函数,protocol参数必须提供为0。socketpair

3. 参数sv[2]是接收代表两个套接口的整数数组。每一个文件描述符代表一个套接口,并且与另一个并没有区别。

4. 返回值:如果函数成功,将会返回0值。否则将会返回-1表明创建失败,并且errno来表明特定的错误号。

关于流程。socketpair()函数创建出两个进程,fork()之后这两个进程都会执行主程序中的代码,这个一定要注意!尤其是bind的时候,如果bind两次的话,那就会出错了。一般会在子进程里调用一个带死循环的函数,这样就好了。socketpair(这个情况的例子会在综合运用中讲解)

一下给出个简单的例子。

// 建立socket对

#include

#include

#include

#include

int main ()

browser 2.3.5 浏览器_socketpair_socketpair pipe

{

int fd[2];

int r = socketpair( AF_UNIX, SOCK_STREAM, 0, fd );

if ( r < 0 ) {

perror( 'socketpair()' );

exit( 1 );

}

if ( fork() ) {

int val = 0;

close( fd[1] );

while ( 1 ) {

sleep( 1 );


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-37412-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...