1 | |
Вопрос по named pipe12.08.2011, 11:35. Показов 1151. Ответов 0
Метки нет (Все метки)
bidirectional, asynchron, message.
со стороны клиента в трейде 0 открываем pipe, и создаем трейд 1, где начинаем читать. трейд 1 переходит в ожидание. затем в трейде 0 пишем. в этот момент трэйд 1 оживает, операция чтения, которая ждала, завершается с FALSE, код ошибки 317 (The system cannon find message text for message number 0x%1 in the message file for %2). я вообще думал, что читающий трэйд будет висеть, пока сервер ему что-нибудь не напишет. как этого добиться? можно, конечно, зациклить чтение, если код ошибки 317, будет работать. но тогда я сэкономлю себе понимание того, как это функционирует, и как сделать правильно. Добавлено через 1 час 15 минут сделал, как думал, и установил, что это - не выход. это не просто возврат FALSE, а данных в там уже нет. они последующими успешными операциями чтения не читаются. например, если я буду пытаться читать по одному байту, и последовательность операций будет такая (в скобках - номер трэйда): (0) открыли. создали трэйд 1 (1) читаем 1 байт. переходим в ожидание, пока сервер напишет (0) пишем Н байт (сервер) читает Н байт (1) операция считывания завершилась с ошибкой, пытаемся ее повторить. ждем дальше. (0) пишем М байт (сервер) читает М байт (1) операция чтения с ошибкой, повторяем. ждем (сервер) пишет один три байта: "абс" (1) операция чтения успешно завершилась, в буфере - считанный байт. и это не "а", а "с". как выход вижу или помощь клуба, или строить двe pipes, по одной в каждую сторону.
0
|
12.08.2011, 11:35 | |
Ответы с готовыми решениями:
0
Чтение из Named Pipe C++ Конец сообщения в named pipe? Запись в канал (Named Pipe) Отправка сообщения в Named Pipe получателю на C++ |
12.08.2011, 11:35 | |
12.08.2011, 11:35 | |
Помогаю со студенческими работами здесь
1
Выбор между TCP Socket и Named Pipe Named Pipe клиент не подключается второй раз Небольшое консольное клиент-серверное приложение по Named Pipe Последствия не указания файла описания ДНС серверов named.ca в named.conf для Bind Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |