���� ���� ���� ���� ������ ���α׷��Ӹ� ���� ���̵�

6.3.3 FIFO ���� (FIFO Operations)

FIFO�� I/O ������ �Ѱ��� �ֿ��� �������� �����ϰ� ���������� �Ϲ� �������� ����. "open" �ý��� ȣ���̳� ���̺귯�� �Լ��� ���������� �������� ä���� ���µ� ���Ǿ����� �Ѵ�. ������ ������������ �������� �������� ���� �ý����� �ƴ�, Ŀ�ο� ���������� ���ʿ��ϴ�. �������� �츮�� �������� fopen()���� ������ ����, fclose()�� �ݴ� ��Ʈ��(stream)ó�� �ٷ� �� �̴�.

������ ���� ���μ����� ���캸��:

/*****************************************************************************
 ������ ���α׷��Ӹ� ���� ���̵� - 6�� ���� ����
 (C)opyright 1994-1995, Scott Burkett
 ***************************************************************************** 
 MODULE: fifoserver.c
 *****************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>

#include <linux/stat.h>

#define FIFO_FILE       "MYFIFO"

int main(void)
{
        FILE *fp;
        char readbuf[80];

	/*�������� �������� ������ �����*/
        umask(0);
        mknod(FIFO_FILE, S_IFIFO|0666, 0);

        while(1)
        {
                fp = fopen(FIFO_FILE, "r");
                fgets(readbuf, 80, fp);
                printf("Received string: %s\n", readbuf);
                fclose(fp);
        }

        return(0);
}
����Ʈ�� FIFO�� ���ܵ�����, �������� �Ŀ� ��׶���� server�� ������Ѷ�:
        $ fifoserver&
��� FIFO�� ���� ���ۿ� ���� ���ϰڴ�. ����, ������ ���� ������ ������ Ŭ���̾�Ʈ ��ȯ��(frontend)�� ���캸��:
/*****************************************************************************
 ������ ���α׷��Ӹ� ���� ���̵� - 6�� ���� ����
 (C)opyright 1994-1995, Scott Burkett
 ***************************************************************************** 
 MODULE: fifoclient.c
 *****************************************************************************/

#include <stdio.h>
#include <stdlib.h>

#define FIFO_FILE       "MYFIFO"

int main(int argc, char *argv[])
{
        FILE *fp;

        if ( argc != 2 ) {
                printf("USAGE: fifoclient [string]\n");
                exit(1);
        }

        if((fp = fopen(FIFO_FILE, "w")) == NULL) {
                perror("fopen");
                exit(1);
        }

        fputs(argv[1], fp);

        fclose(fp);
        return(0);
}


����:6.3.2 FIFO ����� ����:6.3.4 FIFO�� ���� ����

Copyright (c) 1996,1997 by Euibeom.Hwang & SangEun.Oh All Rights Reserved

Email To:Webmaster , Another address
LAST UPDATE Nov 15,1997
Created Nov 15,1997