Я поддерживаю некоторое программное обеспечение, которое устанавливает соединение через tcp-сокет с другим программным обеспечением и отправляет данные туда и обратно (довольно простые вещи). Мы используем boost asio для чтения и записи данных через сокетное соединение. У нас есть клиент, который развернул это программное обеспечение на Windows7. У клиента были проблемы с нашим программным обеспечением, и он не мог поддерживать надежное сокетное соединение. Одна вещь, которую я заметил, это то, что довольно часто сетевой обратный вызов получает ошибку: истекло время ожидания семафора.

Эта ошибка не возникает нигде в нашем коде (или коде повышения). Я провел некоторые исследования и нашел статью базы знаний Майкрософт об этой ошибке для Windows XP (https://support.microsoft.com/en-us/kb/325487). Я видел, как несколько человек задавали вопросы об этой ошибке в Windows7, но все они касаются перемещения файлов на другие диски, а не сетевых подключений.

Что означает эта ошибка в отношении Windows7? Применима ли упомянутая статья базы знаний к Windows7?

1 ответ1

0

У меня была проблема времени ожидания семафора с драйверами USB3.0. Я обнаружил, что переустановка драйверов устройства решила проблему. Кажется, что проблема в поврежденных драйверах из того, что я узнал, и она возвращается, когда больше программного обеспечения или другого USB-оборудования подключено, по моему опыту.

в вашем случае попросите клиента переустановить соответствующие сетевые драйверы и / или проверить, подключено ли какое-либо сетевое оборудование через USB 3.0, и в этом случае ему следует переустановить эти драйверы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .