Я пишу клиентскую программу, использующую сокеты. Я хочу, чтобы клиент получал асинхронно, ЕСЛИ он не ожидает ответа, и в этом случае я хотел бы получать синхронно.
Моя текущая проблема заключается в том, что, поскольку я должен вызвать socket.BeginReceive, который ждет, пока в буфере не появятся данные, асинхронный вызов всегда происходит до вызова синхронизации.
Как я мог временно остановить выполнение BeginReceive? Есть ли способ вызвать EndReceive, а затем, когда я закончу получать синхронно, я могу продолжать получать асинхронно?