⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p11-9.c

📁 SUN Solaris8平台下进程间通信
💻 C
字号:
#include "cliserv.h"int main(){    int server_fifo_fd, client_fifo_fd;    struct data_to_pass my_data;    int nbytes;    char client_fifo_name[256];    char *tmp_char_ptr;    /* 创建并打开服务FIFO */    mkfifo(SERVER_FIFO_NAME, 0777);    server_fifo_fd = open(SERVER_FIFO_NAME, O_RDONLY);    if (server_fifo_fd == -1)         err_exit("Server fifo failure");    sleep(10); /* 为了示例目的,让客户请求排队 */    do {         /* 接收来自客户的请求 */            nbytes = read(server_fifo_fd, &my_data, sizeof(my_data));        if (nbytes > 0) {            /* 对客户的请求进行处理 */            tmp_char_ptr = my_data.text_data;            while (*tmp_char_ptr) {                *tmp_char_ptr = toupper(*tmp_char_ptr);                tmp_char_ptr++;            }            /* 将处理后的数据送回给客户。为此根据客户的进程ID确定回答所用FIFO */            sprintf(client_fifo_name, CLIENT_FIFO_NAME, my_data.client_pid);            client_fifo_fd = open(client_fifo_name, O_WRONLY);            if (client_fifo_fd != -1) {                write(client_fifo_fd, &my_data, sizeof(my_data));                close(client_fifo_fd);            }        }    } while (nbytes > 0);    close(server_fifo_fd);    unlink(SERVER_FIFO_NAME);    exit(EXIT_SUCCESS);  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -