Вопросы по теме 'overlapped-io'

Асинхронный ввод-вывод между процессами
Все: Я пишу решение для ведения журнала. Одной из доступных конечных точек журнала является текстовый файл. Предположим, я хочу писать в этот файл из нескольких процессов: я могу открыть его совместно и использовать именованный мьютекс для...
478 просмотров
schedule 08.04.2023

Чтение всего файла на сетевом диске быстрым способом (Windows, C/C++, C#, )
В последнее время у меня возникли проблемы с чтением больших файлов на сетевом диске, и я просто не могу определить, что я делаю неправильно. Я пробовал как на С++ (неуправляемый), так и на С#, и на обоих у меня были примерно одинаковые...
1544 просмотров

Согласно MSDN ReadFile () функция Win32 может некорректно сообщать о завершении операции чтения. Когда?
В описании MSDN указано ReadFile() функция: Если hFile открывается с FILE_FLAG_OVERLAPPED , параметр lpOverlapped должен указывать на действительную и уникальную структуру OVERLAPPED , в противном случае функция может неверно сообщить,...
1913 просмотров

WSASYSCALLFAILURE с перекрывающимся вводом-выводом в Windows XP
Я столкнулся с ошибкой в ​​своем коде, которая использует результат WSARecv и WSAGetOverlapped для перекрывающегося сокета. При большой нагрузке WSAGetOverlapped возвращает сообщение WSASYSCALLFAILURE («Ошибка системного вызова, который никогда не...
438 просмотров
schedule 28.05.2022

Альтернатива именованным каналам Windows в Linux
Мы переносим существующий код Windows на Linux. Мы используем ACE в качестве уровня абстракции. Мы используем именованные каналы Windows для связи с несколькими клиентами и для выполнения перекрывающихся операций. Что эквивалентно этому в linux....
1915 просмотров
schedule 16.11.2022

AcceptEx возвращает 1022 (WSAEINVAL) Что я сделал не так?
Я пытаюсь закодировать небольшой тестовый сервер для портов завершения. Но когда я пытаюсь вызвать AcceptEx... он всегда возвращает WSAEINVAL в качестве кода ошибки winsock... Я действительно не понимаю, в чем была моя ошибка...
1146 просмотров
schedule 21.05.2022

Синхронная запись в файл, открытый с помощью FILE_FLAG_OVERLAPPED
Я открыл файл, используя HANDLE handle= CreateFileW( fileName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); Затем дескриптор файла используется для операций асинхронного чтения:...
3416 просмотров
schedule 07.04.2023

Зачем GetOverlappedResult нужен дескриптор файла?
Зачем GetOverlappedResult нужен дескриптор файла? Кажется, что WaitForSingleObject(overlapped->hEvent) должно быть достаточно, чтобы дождаться события, чтобы завершился перекрывающийся ввод-вывод, так для чего же GetOverlappedResult...
258 просмотров
schedule 14.03.2023

хранение и управление перекрывающейся структурой на многопоточном сервере IOCP
Это хорошая идея использовать LINKED LIST для хранения перекрывающейся структуры? моя перекрывающаяся структура выглядит так typedef struct _PER_IO_CONTEXT { WSAOVERLAPPED Overlapped; WSABUF wsabuf;...
344 просмотров
schedule 23.03.2022

ReadFileEx, переменная длина — несколько вопросов
Я пытаюсь прочитать из stderr дочернего процесса. Данные представляют собой строки текста, созданные с помощью sprintf(stderr, "some debug info\n") . Я использую ReadFileE x с подпрограммой завершения. Я не знаю, сколько строк текста или какой...
383 просмотров
schedule 25.12.2022

Процедура завершения WSASend никогда не вызывалась
Я играюсь с Overlapped IO и вдруг обнаружил, что похоже, что я единственный, кто не может заставить работать обратный вызов завершения (все претензии были о том, что это работает, и мне это не нравится). Идея моего приложения такова: клиент (telnet...
595 просмотров
schedule 29.01.2023

Чтение строк из файла асинхронно с помощью WINAPI ReadFile
Мне нужно прочитать несколько строк из файла одновременно, т.е. асинхронно. Строки в файле имеют одинаковый размер. Например, мне нужно прочитать вторую и четвертую строки файла для разделения переменных или массива. Я больше привык к...
7410 просмотров

wsasend lpnumberofbytesSent
Я использую wsasend на структурированном сервере IOCP. Есть одна проблема. wsabuf [bufcount - 1] .buf = pPacket-> GetPacketBufferPtr (); wsabuf [bufcount - 1] .len = (int) pPacket-> Get_PacketSize (); iSendSize + = wsabuf [bufcount - 1]...
135 просмотров
schedule 28.01.2023

Overlapped.AsyncResult не изменяется даже после успешного завершения операции
Для связи с HID-устройством я использую некоторые функции из kernel32. Коды заимствованы из проекта пользовательского HID-устройства Microchip MLA. Он использует методы блокировки. Я обнаружил, что могу сделать эти методы асинхронными. Вот что я...
70 просмотров
schedule 06.08.2022

Почему WriteFile не увеличивает смещение файла для последующих операций записи в этом коде?
Я создал схему WriteFile с перекрытием, в которой один поток заполняет кольцевой буфер, перемещает указатель начала и вызывает WriteFile, а другой поток наблюдает за событиями записи OVERLAPPED для перемещения указателя хвоста. Логика ведёт себя как...
54 просмотров
schedule 26.05.2022