域套接字代码示例(1)
2015-12-27 17:38
295 查看
使用socketpair可以在有亲缘关系的进程间(如父子进程)使用域套接字进行通信。
#include <sys/types.h> #include <sys/socket.h> #include <unistd.h> #include <string.h> #include <iostream> using namespace std; int main() { int sockfd[2]; if (socketpair(AF_LOCAL, SOCK_STREAM, 0, sockfd) < 0) { cout << "fail to create socket pair" << endl; return -1; } int iRet = fork(); if (iRet < 0) { cout << "fail to fork child" << endl; return -1; } else if (iRet > 0) { // parent close(sockfd[1]); char acSend[] = "how are you"; write(sockfd[0], acSend, strlen(acSend)); char acRecv[20] = { 0 }; read(sockfd[0], acRecv, sizeof(acRecv)); cout << "parent recv: " << acRecv << endl; } else { // child close(sockfd[0]); char acRecv[20] = { 0 }; read(sockfd[1], acRecv, sizeof(acRecv)); cout << "child recv: " << acRecv << endl; char acSend[] = "fine, thank you"; write(sockfd[1], acSend, strlen(acSend)); } return 0; }
相关文章推荐
- Spring初始化数据库
- 个人学习-java-数组的使用与注意
- JVM java虚拟机
- 重学Java之环境变量(path和classpath)
- C++模板学习
- Spring Data JPA入门
- Java基础之switch语句
- 问题分析-无界线程池误用导致OOM:java.lang.OutOfMemoryError:unable to create new native thread
- 课程设计源代码
- 浅谈如何在Eclipse下的Android工程配置Git的.gitignore文件
- python 内建模块
- C#-循环滚动字幕,timer,从左至右,从右至左,暂停---ShinePans
- 深入理解c#中的const 和readonly的区别滴呀;
- 编程社区分享,烧脑行动Come on.
- Spring AOP快速入门
- Java实现简单的DES加密解密
- C++的双冒号
- 破解官网最新版phpstorm10.0.1
- Java基础之数据类型
- asp.net项目页面间传值的几种方式(部分转载)