![]() |
|
Модераторы: xvr |
![]()
|
|
| iPlay |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Если не тяжело кто-нибудь может набросать пример передачи данных через именованный канал. Т.е. вообще собираюсь писать задание типа: Клиент вводит имя файла исходника и файла конечного и передает данные через именованный канал серверу(в исходнике хранится текст который сервер обработает и передаст результат клиенту, который данные запишет в файл результат).
Если можно пример реализации в обших чертах. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
1. сервер создает канал для входных сообщений (man mkfifo) 2. клиент создает канал для получения ответа сервера 3. через write() клиент пишет запрос серверу (передавая идентификатор канала для получения ответа) 4. сервер получает запрос, парсит переданный идентификатор канала выполняет действия с входным потоком данных и пишет результат в канал клиента Это сообщение отредактировал(а) MAKCim - 20.4.2008, 11:09 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| iPlay |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
С первым пунктом я разобрался будет выглядеть вот так:
Второй пункт тоже вроде разобрался:
Непонял 3й пункт и 4й что нужно сделать. |
||||
|
|||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
клиент должен создать еще один канал и передать его идентификатор серверу вместе с запросом сервер пишет ответ в этот канал -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| iPlay |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
Тоесть получается вот так:
Похоже на правду или я ошибаюсь? Это сообщение отредактировал(а) iPlay - 20.4.2008, 16:20 |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
iPlay,
вот код (без проверки на ошибки)
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| iPlay |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
А можно с файла считывать строки с помощью fgets чтобы потмо строки обрабатывать с помощью STL. В частности в этом коде.
|
|||
|
||||
| iPlay |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 23.9.2007 Репутация: нет Всего: 1 |
В чем тут проблема не могу понять... Вот написал код
Не могу понять в чем проблема. Данные от клиента к серверу передать получилось а вот теже данные но обратно в клиент НЕТ. В консоле две проги тупо висят и всё... |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
iPlay, клиентом открывай оба потока сразу при запуске.
А вообще, рекомендую обратить внимание на сокеты (если нужны именованые, то PF_UNIX). Они больше подходят для двустороннего обмена информацией. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |