Именованые каналы(Named pipe)
От: niko715  
Дата: 08.11.07 08:59
Оценка:
Зравствуйте!

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

И сразу же сталкнулся с проблемой:
Сервер посылает несколько сообщений (т.е. делает несколько вызовов WriteFile(...)), при этом клиент ждет нажатия клавиши перед тем как войти в цикл с ReadFile().

Тут то и непонятка: клиент получает только первое сообщение. Куда деются остальные? Они не ставятся в очередь?

ps: сделал это для того, чтобы симетировать ситуацию, когда клент не успевает вычитывать из канала.

Спасибо.
Re: Именованые каналы(Named pipe)
От: Аноним  
Дата: 08.11.07 09:53
Оценка: 1 (1) +1

Тут то и непонятка: клиент получает только первое сообщение. Куда деются остальные? Они не ставятся в очередь?

вероятно приходят вместе с первым
Re[2]: Именованые каналы(Named pipe)
От: niko715  
Дата: 08.11.07 10:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>вероятно приходят вместе с первым


Но ведь ф-ия ReadFile возвращает число записанных байт. И оно равно длине первого сообщения.
Чтоже делать? Или я не понял, что значит "приходят вместе с первым"? Поясните пожалуйста.
Re[2]: Именованые каналы(Named pipe)
От: niko715  
Дата: 08.11.07 11:41
Оценка:
Здравствуйте, Аноним, Вы писали:


А>вероятно приходят вместе с первым


Вы правы. Еще раз проверил длину буфера, который пишется ф-ией ReadFile(). Просто я выводил на эран полученный буфер, а в нем каждое сообщение заканчивалось НОЛЬ-симоволом. Поэтому выводилось только первое сообщение.

Спасибо еще раз
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.