ソケットプログラムを勉強したくて、とあるブログ(?)でプロセス間通信のコードを見つけたので、それを実行しようとしたのですがうまく行きません。原因がわからないので教えていただきたいです。
C言語
送信側コード
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int fifodes ;
char buffer[256];
/* FIFO ファイルをオープンにする */ fifodes = open("my_fifo",O_WRONLY); fgets(buffer,256,stdin); /* データを送信する */ write(fifodes,buffer,strlen(buffer)+1); close(fifodes);
return(0);
}
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
受信側
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int fifodes ;
char buffer[256];
/* 「my_fifo」という名のFIFOファイルの作成 */ mkfifo("my_fifo",0777); /* FIFO ファイルをオープンにする */ fifodes = open("my_fifo",O_RDONLY); /* データを受信する */ read(fifodes,buffer,256); printf("Message: %s",buffer); close(fifodes);
return(0);
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/18 15:49