Описание тега io-completion-ports
Порт завершения ввода / вывода (порты завершения ввода / вывода или IOCP) - это API для выполнения нескольких одновременных операций асинхронного ввода / вывода в Windows, AIX и Solaris.
1
ответ
Использование портов завершения ввода-вывода из нескольких сокетов в ограниченном пуле потоков в C#
Я пытаюсь прослушивать UDP-пакеты от различных входящих портов (~20). Я хотел бы посвятить ~3-5 потоков для получения и обработки этих пакетов. Это похоже на идеальную ситуацию для портов завершения ввода-вывода в Windows. Чего я не понимаю, так это…
27 сен '12 в 04:25
0
ответов
Сохраняет ли асинхронный файл, добавляемый в Windows, порядок?
Я звоню CreateFile с FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH | FILE_FLAG_OVERLAPPED а потом позвонить многим WriteFile с OVERLAPPED структуры с обоими Offset а также OffsetHigh Члены настроены на 0xFFFFFFFF добавить новые данные в файл. Гар…
11 ноя '15 в 12:49
2
ответа
Как определить время ожидания WinSock TCP с помощью BindIoCompletionCallback
Я создаю TCP-сервер Visual C++ WinSock с использованием BindIoCompletionCallback, он отлично работает при получении и отправке данных, но не могу найти хороший способ определения времени ожидания: SetSockOpt/SO_RCVTIMEO/SO_SNDTIMEO не влияет на небл…
31 дек '11 в 06:46
1
ответ
Неблокирующая розетка подключения в Windows без ConnectEx
Мне нужно инициировать тысячи клиентских подключений в одном процессе, главное ограничение, которое мне нужно обойти, это драйвер не поддерживает ConnectEx, поэтому у меня не может быть чистого решения IOCP. Моей первой мыслью был пул потоков для об…
23 окт '11 в 13:45
1
ответ
Буфер SocketAsyncEventArgs заполнен нулями
Я пишу слой сообщений для моей распределенной системы. Я использую IOCP, то есть методы Socket.XXXAsync. Вот что-то довольно близкое к тому, что я делаю (на самом деле моя функция получения основана на его): http://vadmyst.blogspot.com/2008/05/sampl…
31 май '12 в 15:15
1
ответ
Использование перекрытой структуры для обратного вызова?
У меня есть собственная перекрывающаяся структура для асинхронного ввода-вывода с использованием портов завершения ввода-вывода. Теперь я получаю уведомление о завершении чтения / записи. Могу ли я передать функцию CALLBACK в качестве параметра в пе…
05 окт '13 в 04:40
2
ответа
GetQueuedCompletionStatus блокирует навсегда
Я пишу серверное приложение и хочу использовать порты IOCompletion, поэтому я написал прототип для сервера, но у меня возникла проблема с GetQueuedCompletionStatus, которая никогда не возвращается (блокируется). Ниже мой код: bool CreateSocketOverla…
18 окт '11 в 20:50
3
ответа
CloseHandle() возвращает до того, как последовательный порт будет фактически закрыт
Я дергаю себя за волосы, пытаясь понять, когда завершается закрытие последовательного порта, чтобы я мог открыть его снова. Оказывается, что CloseHandle() возвращается до того, как порт фактически разблокирован. Я открываю последовательный порт испо…
16 янв '12 в 20:16
1
ответ
Windows IOCP дерево?
То, что я хочу сделать, это следующее: у меня есть 4 темы. и для каждого потока я создаю IOCP. внутри функции потока я жду GetQueuedCompletionStatus(INIFINIT), чтобы получить работу, затем обработать ее и затем снова ждать. Поэтому, если я хочу отпр…
05 дек '16 в 15:13
0
ответов
Неверный параметр при связывании множества заданий с портом завершения ввода-вывода
Учтите следующее: void SomeClass::associateCompletionPort(HANDLE hJob) { JOBOBJECT_ASSOCIATE_COMPLETION_PORT jacp = { 0 }; jacp.CompletionKey = hJob; jacp.CompletionPort = hCompletionPort; if (!SetInformationJobObject( hJob, JobObjectAssociateComple…
06 мар '15 в 21:47
2
ответа
Разместите несколько HTTP-запросов для ожидания одного и того же порта завершения ввода-вывода
Мое приложение асинхронно загружает большой объем информации из веб-службы и "Application_Start". Если запрос пользователя хочет использовать эту информацию, и он не готов, поток будет заблокирован с помощью Monitor.Wait. Когда информация будет гото…
28 ноя '11 в 17:17
2
ответа
Мое графическое представление и интерпретация моделей на основе сокетов
http://img600.imageshack.us/img600/3567/graphicrepresentation.png Я правильно рассуждаю? Если да, может кто-нибудь показать мне, как на схеме выше, как будут работать порты завершения ввода / вывода? Прежде чем я начну изучать создание высокопроизв…
12 ноя '10 в 17:53
1
ответ
В чем разница между epoll, poll, threadpool?
Может ли кто-нибудь объяснить, в чем разница между epoll, poll а нить пул? Какие плюсы / минусы? Любые предложения для рамок? Любые предложения для простых / базовых уроков? Кажется, что epoll а также poll специфичны для Linux... Есть ли эквивалентн…
04 ноя '10 в 01:37
1
ответ
ERROR_NO_MORE_ITEMS с именованным каналом и портом завершения ввода-вывода
У меня есть простой сервер именованных каналов, реализованный в python+ctypes: pipe = windll.kernel32.CreateNamedPipeA('\\\\.\\pipe\\pipe_name', PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, PIPE_TYPE_BYTE, 1, 0, 0, 0, None) overlapped_struct = OVERLAP…
01 июн '16 в 20:47
1
ответ
Сокеты с использованием GetQueuedCompletionStatus и ERROR_MORE_DATA
Я пытаюсь использовать GetQueuedCompletionStatus с winsocks, но я не могу понять, как это правильно. Процедура выглядит следующим образом: void foo() { ... SOCKET sck = WSASocket(AF_INET, SOCK_DGRAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED); .... bind(sck,(…
07 авг '15 в 17:26
1
ответ
Понимание портов завершения ввода / вывода
У меня нет этого ясно, я где-то читал, что GetQueuedCompletionStatus вернусь WSARecv а также WSASend результаты в том порядке, в котором они были созданы, поэтому вот мой вопрос:На сервере Если инициализирован CreateIoCompletionPort с NumberOfConcur…
30 июн '16 в 06:27
2
ответа
Порты завершения ввода-вывода - отправить или получить?
Если бы я написал программу, которая использовала порты завершения ввода-вывода для мультиплексирования с использованием неблокирующих сокетов, как бы я узнал, была ли передана функция, выполняемая в сокете, или recv, когда getQueuedCompletionStatus…
18 авг '12 в 23:30
1
ответ
Непрерывность нескольких портов сжатия WSASend() io
Использование TCP в портах завершения ввода-вывода с сервера, если я делаю два последовательных WSASend в том же сокете первый отправляет "ABC", а второй отправляет "DEF", затем, когда я звоню GetQueuedCompletionStatus это говорит мне о том, что пер…
07 июл '16 в 09:37
0
ответов
Несколько потоков на портах завершения ввода / вывода
Я работаю на сервере сокетов C++, используя порты завершения ввода / вывода. Я создаю один порт ввода-вывода и два рабочих потока на процессор, как рекомендуют некоторые статьи для обработки перекрывающихся операций ввода-вывода Из того, что я прочи…
12 дек '12 в 20:00
1
ответ
Как заставить GetQueuedCompletionStatus() немедленно вернуться?
У меня есть пул ручной работы. Потоки читают из порта завершения и делают другие вещи. Один конкретный поток должен быть закончен. Как прервать его ожидание, если оно зависает на GetQueuedCompletionStatus() или GetQueuedCompletionStatusEx()? Конечно…
03 окт '15 в 10:29