socketpair使用
来源:互联网 发布:备案如何转入阿里云 编辑:程序博客网 时间:2024/05/17 23:06
#include <sys/socket.h>#include <netinet/in.h>#include <stdlib.h>#include <stdio.h>#include <unistd.h>// Linux环境下使用socketpair函数创造一对未命名的、相互连接的UNIX域套接字。void err_sys(const char *errmsg);int main(void){ int sockfd[2]; // 其中sockfd[0]用于读, sockfd[1]用于写. pid_t pid; if( (socketpair(AF_LOCAL, SOCK_STREAM, 0, sockfd)) < 0 ) { err_sys("socketpair"); } if( (pid = fork()) == -1 ) { err_sys("fork"); } else if (pid == 0) { /* child process */ char s[BUFSIZ]; ssize_t n; close(sockfd[1]); //write port if( (n = read(sockfd[0], s, sizeof(s))) < 0 ) { err_sys("read error!\n"); } printf("read:%s\n", s); close(sockfd[0]); exit(0); } else if( pid > 0 ) { /* parent process */ char buf[] = "hello china"; ssize_t n; close(sockfd[0]); //read port if( (n = write(sockfd[1], buf, sizeof(buf))) < 0 ) { err_sys("write error!\n"); } printf("write:%s\n", buf); close(sockfd[1]); wait(NULL); } return 0;}void err_sys(const char *errmsg){ perror(errmsg); exit(1);}
</pre><pre code_snippet_id="642894" snippet_file_name="blog_20150413_3_3442200" name="code" class="cpp">
在我的测试结果里面, 是父进程先返回, 子进程后返回..
父子进程可以通过这个配对的套接字通信.....
0 0
- socketpair使用
- socketpair 使用
- socketpair的使用
- socketpair的使用
- socketpair的使用
- socketpair的使用
- socketpair的使用
- socketpair的使用
- socketpair的使用
- socketpair的使用
- socketpair
- socketpair
- socketpair
- socketpair
- socketpair
- socketpair
- socketpair
- socketpair
- linux kernel config新增CONFIG项
- 随笔记录
- 成就别人
- 关于获取获取手机目录和项目目录
- 初步学习Java 第一天课程
- socketpair使用
- 反转单项链表
- zoj 1003 Crashing Balloon(整数分解应用)
- iOS —— 网络封包分析工具 Charles (一)
- ProgressBar
- 欢迎使用CSDN-markdown编辑器
- BIM 360 Glue API: 用cURL或PostMan实现登陆和获取项目列表的功能
- Android安全机制--操作系统安全机制-进程、用户与文件安全
- 使用sqoop将MySQL数据库中的数据导入Hbase