Форум программистов, компьютерный форум, киберфорум
Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
9 / 9 / 10
Регистрация: 05.09.2013
Сообщений: 502
1

Именованные каналы в Linux . Передача данных между процессами

07.12.2014, 22:39. Показов 1435. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу помощи с именованными каналами .
Нужно передать данные от 1-го процесса в 2-ой . В 1-ом процессе вводятся данные , а во 2-ом они должны выводится .

Вот 2 файла :

Первый файл :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
 
using namespace std;
 
int main(int argc, const char * argv[])
{
    unlink("chanelfirst");  //удалить имя , если оно уже есть */
    char msg[255];    //для сообщения
    int err = mknod("chanelfirst",S_IFIFO|0x1b6,0);  //создать канал
    if(err == 0 ) cout <<" chanelfirst created " << endl;
    int pin;
    cout<<" You are in 1 , enter your msg  : "<<endl;
    cin>>msg;    //введение сообщения
   pin = open("chanelfirst",O_WRONLY | O_NDELAY);  //открыть канал
   write(pin, msg, 255);    //записать в канал
   close(pin);                //закрыть канал
   unlink("chanelfirst");    //удалить имя */
    return 0;
}
Второй файл :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
 
using namespace std;
 
int main(int argc, const char * argv[])
{   
    char msg[255];   //сообщение
  
    int pinF = open("chanelfirst",O_RDONLY);   //открытие канала
        read(pinF,msg,sizeof(msg));
        cout<<"2 : msg is coming from 1 is: "<<msg<<endl;
    return 0;
}
Ничего не получается вывести во втором процессе , хотя и ввожу данные в первом .

В чём может быть ошибка ? Что я не так делаю ? Подскажите , пожалуйста . Очень надеюсь на Вашу помощь . Заранее спасибо !
Миниатюры
Именованные каналы  в Linux . Передача данных между процессами  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2014, 22:39
Ответы с готовыми решениями:

Передача данных другому процессу через именованные каналы
Вся группа не может решить задание от нашего зав. кафедры, необходима ваша помощь! Само задание:...

Именованные каналы в Linux
Прошу помощи с именованными каналами . Нужно передать данные от 1-го процесса в 2-ой . В 1-ом...

Именованные каналы в Linux. mkfifo
Всем доброго времени суток. Друзья, где в какой книге можно почитать про Именованные каналы в...

Передача данных между процессами (pipe)
Всем доброго времени суток. Обращаюсь к вам с вопросиком. Передо мной стоит задача написать код,...

0
07.12.2014, 22:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2014, 22:39
Помогаю со студенческими работами здесь

Передача данных между потоками/процессами
Ребят, у вас тут поактивнее раздел. В соседней ветке .NET я не нашел решения, может...

Передача данных между процессами. Использование каналов
Написать приложение (клиент), которое передает математическое выражение, а второе (сервер)...

Общение между процессами через анонимные каналы
Нужно посчитать кое-что по формуле При этом все элементарные арифметические действия сделать в...

WS,WCF,WPF и передача данных между разными процессами (удалёнными\локальными)
Доброе утро. Задача стоит в условиях локальной работы! У меня есть WCF + WindowsService...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru