0

在此处输入图像描述

我在linux中输入的上述程序。它基本上必须在不同的终端中连接客户端和服务器。但是当我以正确的顺序运行它们时,即

  1. 编译服务器 -> 运行服务器
  2. 编译客户端->运行客户端

终端只是不做任何事情。它甚至不打印"Trying to connect"第一条printf语句的部分。这里有什么错误?

编辑

我检查了mkfifo@parapura rajkumar 所说的返回值。但它仍然保持不变。这是我更改的服务器代码。

if(mkfifo("fifo1",0666)<0) {
  printf("Error");
}
if(mkfifo("fifo2",0666)<0) {
  printf("Error");
}
fflush(stdout);
4

1 回答 1

2

你造成了僵局。服务器等待打开(“fifo1”,O_RDONLY),客户端等待打开(“fifo2”,O_RDONLY)。

编辑client.c:

int writefd = open("fifo1",O_WRONLY);
int readfd = open("fifo2",O_RDONLY);
于 2011-11-08T05:57:52.353 回答