Отправка многоадресного пакета из Win7 Pro против Ultimate - PullRequest
0 голосов
/ 26 апреля 2011

У меня есть две оснастки для разработки: одна работает под управлением Windows 7 Ultimate (ноутбук) и одна работает под управлением Windows 7 Professional (рабочий стол).Я только что проверил код на своем рабочем столе, который отлично работал на моем ноутбуке для отправки пакета udp через многоадресную рассылку (см. Ниже), и он отлично работает на моем компьютере с Win7 Ultimate, а также на сервере win2k3 и машине с Windows XP, которую я мог протестировать.он включен, но на моем win7 Pro box я получаю следующее SocketException: «Операция над сокетом не может быть выполнена, потому что системе не хватает достаточного места в буфере или потому что очередь заполнена»

Не разрешает ли Windows 7 Proотправлять многоадресные пакеты?Или я просто что-то упустил?

var socket = new UdpClient("239.7.23.1", 6567);
var testBuf = new byte[] {12, 24};
socket.Send(testBuf, 2);

Обновление: я забыл упомянуть, что отключил все брандмауэры, и драйвер является драйвером, предоставленным Intel, и при просмотре расширенных свойств устройства я проверилБуферы приема и передачи установлены на 2048, и я пробовал приведенный выше тестовый код с полезной нагрузкой от 2 до 256 байт, все с одинаковой ошибкой.

1 Ответ

1 голос
/ 26 апреля 2011

Для этого есть много возможностей, поэтому, хотя у меня нет конкретного ответа, возможно, это поможет хотя бы устранить неполадки.

Во-первых, код должен работать для обоихсистемы.

Возможно ли, что ваша сетевая карта на вашем рабочем столе дешевле / ниже, и ей не выделено столько буфера для очереди?Как правило, это особенность NIC-модели (что-то вроде получения ПК с X-объемом L2-кэша - разные модели имеют разные буферы кеша).Как насчет различий драйверов в распределении буферов?Вы используете драйверы производителя или Microsoft?Попробуйте использовать другие драйверы и / или обновите их до последней версии драйвера manuf вместо версии Microsoft, если вы используете это.

Проверяли ли вы, что брандмауэры были отключены на обоих, и брандмауэр Windows не был установлен по-разному в каждой системе?,Они на разных роутерах?Если так, возможно ли, что многоадресная рассылка отключена на одном маршрутизаторе, но не на другом?Это может быть много, чтобы вызвать это, поэтому может быть много вещей, которые могут вызвать эту проблему.НТН.

...