zoukankan      html  css  js  c++  java
  • 域套接字代码示例(1)

    使用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;
    }
  • 相关阅读:
    02_类和对象
    Django_数据库增删改查——增
    Django_同步数据库
    Django_models类属性。
    CSS_垂直居中
    CSS_背景属性
    CSS_定位
    CSS_浮动
    CSS_盒子模型
    CSS_元素的分类
  • 原文地址:https://www.cnblogs.com/glacierh/p/5080474.html
Copyright © 2011-2022 走看看