Описание тега overlapped-io

2 ответа

Хук WSARecv: предотвращает получение пакета исполняемым файлом

Я работаю над DLL, которая перехватывает функции winsock2, используя C++ и обходные пути. Моя цель - изменить трафик TCP, который идет от исходного исполняемого файла и обратно. В какой-то момент мне нужно остановить доставку определенного пакета (ч…
06 авг '14 в 22:34
1 ответ

WIN32 Socket API: Отмена отправки / записи в сокет с использованием уведомлений о завершении на основе событий

С помощью сокета с перекрывающейся операцией выбирается уведомление о завершении на основе события; Есть 2 события, одно для данных, другое для отмены длительной отправки / записи: HANDLE events[] = { m_hDataEvent, m_hInterruptEvent }; затем вызывая…
24 май '12 в 18:13
2 ответа

Должен ли я использовать AcceptEx() или WSAAccept()?

Я использую Overlapped IO, я хочу принимать клиентские соединения, используя блокирующий вызов, так же, как я делаю с обычным accept(), Я не уверен но думаю что AcceptEx() не блокирует, пока WSAAccept() делает. Так и есть WSAAccept() похожий на acce…
1 ответ

Зачем GetOverlappedResult нужен дескриптор файла?

Почему GetOverlappedResult нужен дескриптор файла? Это похоже на WaitForSingleObject(overlapped->hEvent) должно быть достаточно, чтобы дождаться события, чтобы перекрывающийся ввод-вывод завершился, так что же GetOverlappedResult использовать дес…
24 май '13 в 03:45
3 ответа

Приложение не получает последовательные данные от COM-порта - C++

Мое приложение неправильно получает данные от COM-порта. Это раньше работало. Я не знаю, что случилось. Я знаю, что по линии отправляются / принимаются правильные данные, потому что я вижу их на своем анализаторе протоколов. ПК попадает в WAIT_OBJEC…
1 ответ

Блоки GetOverlappedResults с bWait = false

GetOverlappedResults() не возвращается вообще.Я запустил простой пример, приведенный ниже, и при изменении IP-адреса в сетевом интерфейсе устанавливается событие ручного сброса, и я вижу вывод "Таблица IP-адресов изменена..", но GetOverlappedResult…
12 окт '14 в 15:58
1 ответ

Неожиданный WSA_IO_PENDING от блокировки (с перекрывающимся атрибутом ввода / вывода) вызовы Winsock2

Короткая версия : я получаю WSA_IO_PENDING при использовании блокирующих вызовов API сокетов. Как мне справиться с этим? Сокет имеет перекрывающийся атрибут ввода / вывода и устанавливается с таймаутом. Длинная версия: Платформа: Windows 10. Visual …
20 сен '18 в 07:39
1 ответ

(MSDN) Сделать поток "оповещаемым" постоянно, не блокируя поток

Я использую асинхронные вызовы процессов (APC) для выполнения запросов ввода-вывода с перекрытием, используя ReadFileEx и WriteFileEx. Как определено в MSDN, эти подпрограммы завершения функции (APC) будут обрабатываться только в том случае, если по…
1 ответ

Как мне преобразовать этот блокирующий режим ввода-вывода в перекрывающийся режим ввода-вывода на языке c в Windows?

Я учусь делать сокет-программирование и многопоточное программирование на C на Windows. Я разработал проект, в котором будет три типа узлов для резервного копирования (сервер, клиент и узел хранения). Я создал следующее, чтобы иметь один сервер и не…
31 мар '18 в 05:41
1 ответ

Параллельный метод асинхронного обратного вызова ввода-вывода

Я реализовал асинхронный ввод-вывод с обратным вызовом, когда я беспокоюсь о параллелизме. Я оспариваю вам, что, поскольку я всегда работаю с одним и тем же файлом, а физический ввод-вывод файла ОС по сути является синхронной операцией, мне не понад…
0 ответов

Как тайм-аут WaitForMultipleObjectsEx до ReadTotalTimeoutConstant?

У меня есть программа, которая читает с последовательного порта, это делается с перекрытием ввода-вывода. Я не могу понять, как может превышаться тайм-аут WaitForMultipleObjects (200 мс), когда у меня меньше тайм-аут в вызове SetCommTimeouts (100 мс…
15 сен '15 в 15:59
1 ответ

Использование перекрытой структуры для обратного вызова?

У меня есть собственная перекрывающаяся структура для асинхронного ввода-вывода с использованием портов завершения ввода-вывода. Теперь я получаю уведомление о завершении чтения / записи. Могу ли я передать функцию CALLBACK в качестве параметра в пе…
1 ответ

Windows WriteFile блокирует даже с FILE_FLAG_OVERLAPPED

У меня есть следующий код, который создает файл с помощью CreateFile с FILE_FLAG_OVERLAPPED флаг, а затем вызывает WriteFile 100 раз в цикле, передавая OVERLAPPED состав uint64_t GetPreciseTickCount() { FILETIME fileTime; GetSystemTimePreciseAsFileT…
2 ответа

TCP-соединения с перекрывающимся вводом-выводом

Можно ли инициировать запрос TCP-соединения с перекрывающимся вводом-выводом и отменить его до завершения соединения в Windows? Мне нужно поддерживать как минимум Windows XP SP2.
0 ответов

Асинхронная операция чтения на именованном канале?

Я хочу получать данные по именованному каналу асинхронно. Ниже приведен код моего сервера: bool bContinue = true; bool bMessageReceived = false; int iMessage; DWORD dwBytesRead = 0; OVERLAPPED oReadOverlapped = {0}; oReadOverlapped.hEvent = CreateEv…
1 ответ

Процедура завершения сокета Windows после closesocket

Во время работы с сокетами Windows в режиме перекрытия и использования подпрограмм завершения (поэтому IOCP) для обратной связи я обнаружил следующий любопытный случай: Откройте сокет сервера, используя listen а также AcceptEx, Подключите клиентский…
26 июл '18 в 13:38
4 ответа

Использование перекрывающихся конфликтов ввода-вывода с C++ D'tor

Я пишу сервер для одного клиента (на данный момент), который имеет основной цикл, который обрабатывает клиентский запрос и отправляет соответствующий обработчик. для некоторых целей я хотел бы использовать перекрывающийся ввод-вывод MS (это только д…
03 окт '12 в 21:47
0 ответов

В чем преимущество использования класса Overlapped для асинхронной передачи данных?

У меня есть приложение, которое отправляет данные с и на конечную точку USB. Я могу использовать синхронные и асинхронные передачи данных. Последний может использоваться с или без перекрывающейся структуры. В асинхронном режиме я могу инициировать п…
04 авг '18 в 11:17
2 ответа

Как узнать, когда ReadFileEx() завершил ввод-вывод с перекрытием?

HasOverlappedIoCompleted() не работает с асинхронным вводом / выводом, начатым с ReadFileEx() а также WriteFileEx(), Фрагмент кода внизу демонстрирует это. В этом примере ReadFileEx() читает из канала, который не имеет ввода, поэтому чтение не будет…
05 дек '11 в 14:47
2 ответа

Быстрое чтение всего файла на сетевом диске (Windows, C/C++, C#, ...)

В последнее время у меня были проблемы с чтением больших файлов на сетевом диске, и я просто не могу точно определить, что я делаю неправильно. Я пробовал как в C++ (Unmanaged), так и в C#, и у меня были примерно одинаковые характеристики... которые…
26 фев '10 в 01:09