| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Повторное присоединение к named pipe - неудача |
| Автор: EnergoHokum 3.9.2007, 14:38 | ||||
Доброго всем времени суток. Проблема следующая: создаю named pipe:
присоединяюсь к нему:
но после отсоединения клиента и попытки вторично зацепиться на pipe получается "can'not open existing pipe". Неужели нельзя переподключиться? |
| Автор: NiJazz 4.9.2007, 07:42 | ||
Это CloseHandle? Добавлено через 1 минуту и 42 секунды А сервер вызывает DisconnectNamedPipe? |
| Автор: EnergoHokum 4.9.2007, 08:00 |
| Отсоединение происходит со стороны клиента, там вызывается CloseHandle. На сервере DisconnectNamedPipe не вызываю. |
| Автор: NiJazz 4.9.2007, 08:17 | ||||
EnergoHokum, а ты попробуй. Добавлено через 1 минуту и 39 секунд Вот обычные вызовы сервера:
Если повторного использования канала не предполагается, вызывается ещё CloseHandle(hPipe). |
| Автор: EnergoHokum 4.9.2007, 08:24 |
| Ща попытаюсь... А кстати, как на стороне сервера отловить отсоединение клиента? Или же клиент должен передать какую-то последовательность, которую сервер воспримет как "стоп клиента"? |
| Автор: NiJazz 4.9.2007, 08:35 | ||
ReadFile или WriteFile возвращают FALSE с соответствующим кодом ошибки. Добавлено через 1 минуту и 7 секунд Клиент ничего не должен посылать, просто отсоединяться. |
| Автор: EnergoHokum 4.9.2007, 08:59 |
| Повторное подсоединение клиента не удаётся, хотя канал сохраняется. Мне вообще непонятно, из-за чего эта ботва происходит? Named pipe - по сути файл, почему я не могу повторно открыть тот-же самый файл? |
| Автор: NiJazz 4.9.2007, 09:04 |
| EnergoHokum, можешь скинуть код на мыло с указанием мест, где происходят ошибки. |
| Автор: EnergoHokum 4.9.2007, 09:12 |
| Сейчас не могу, у нас тут мыло забрали |
| Автор: NiJazz 4.9.2007, 09:14 | ||
| Посмотри http://msdn2.microsoft.com/en-us/library/aa365588.aspx. Там есть также ссылка на пример для клиента. Добавлено через 28 секунд
Да, неправильно. |
| Автор: EnergoHokum 4.9.2007, 09:22 |
| Да, блин, моя английское быть хромым, общий смысл вроде понимаю, но мелочи и детали... :-( |