Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2011, 13:40   #1
litviak
Пользователь
 
Регистрация: 02.04.2011
Сообщений: 19
По умолчанию Задача на С. Именованный канал.

Здавствуйте! Помогите пожалуйста. Компилироватся компилируется, но даже до exit() не доходит при выполнении clent.c (соответственно server.c тоже)
Суть Л.Р:Через fifo клиентом передать серверу содержимое файла, которое сервер выводит на экран.

command.h
Код:
#define MAX_BUFF 80
#define FIFO_NAME "/tmp/fifo"
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
void errHandler(const char* title, int retcode, int errcode){
  printf("%s - %s\n", title, strerror(errcode));
  exit(-(retcode));
}
server.c
Код:
#include "command.h"
int main(){
  int fd;
  if(mkfifo(FIFO_NAME,0666)<0)
    errHandler("mkfifo()", 1, errno);
  if(fd=open(FIFO_NAME,O_RDONLY)<0)
    errHandler("open(fifo ser)",4,errno);
  int sum;
  char * buff;
  read(fd,buff,MAX_BUFF);
  write(1,buff,strlen(buff));
  unlink(FIFO_NAME);
  exit(0);
}
client.c
Код:
#include "command.h"
int main(int argc,char **argv){
  int fd;
  int fc;
  char * buff;
    printf("1");
  if(fd=open(FIFO_NAME,O_WRONLY)<0)
    errHandler("open(fifo)",2,errno);
  printf("1");
  if(fc=open(argv[1],O_RDONLY)<0)
    errHandler("open(argv)",3,errno);
  printf("1");
  if(read(fc,buff,MAX_BUFF)<0)
    errHandler("read(client)",5,errno);
  printf("1");
  if(write(fd,buff,MAX_BUFF)<0)
    errHandler("write()",6,errno);
  printf("1");
  close(fd);
  write(1,buff,strlen(buff));
  close(fc);
  exit(0);
}
Идиотские printf в клиенте для отслеживания каждого шага. Ни одного не выводит.

Последний раз редактировалось litviak; 02.04.2011 в 13:48.
litviak вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Потеря данных при записи в Named Pipe (именованный канал) zvukoper Win Api 0 27.02.2011 20:02
Именованный диапазон A_L_E_X Microsoft Office Excel 2 14.02.2011 13:56
Именованный диапазон A_L_E_X Microsoft Office Excel 1 16.09.2010 14:19
Динамический именованный диапазон WIC Microsoft Office Excel 0 02.02.2009 12:09
Альфа-канал NeiL Мультимедиа в Delphi 1 28.02.2008 15:33