2012-01-02 1 views
1

У меня есть приложение, которое хорошо работает в Windows, но, похоже, стало очень медленным в Windows 7. Я отслеживал проблему для несвязанного сокета, на котором я выполняю IP-адреса многоадресной рассылки, используя «sendto». Эти вызовы обычно завершаются в ~ 1 мс, но я вижу некоторое время завершения от 1 до 2 секунд (да, 1000 раз медленнее) в моей 64-битной конфигурации Windows 7. Мои пакеты довольно большие, и я соответствующим образом переконфигурировал буферы сокетов.C# в Windows 7: Медленные IP-адреса многоадресной рассылки?

В этих конкретных тестах у меня было шесть приложений, работающих на моем единственном ноутбуке, образуя группу многоадресной рассылки, и, таким образом, многоадресная рассылка фактически возвращается назад и никогда не должна выходить на провод. Я не знаю, возникает ли проблема с моими приложениями на разных машинах; проверит этот случай, но даже если проблема исчезнет в других конфигурациях, мне также понадобится Isis2 для этого.

Кто-нибудь когда-либо видел что-нибудь подобное раньше?

Я буду рад поделиться своим кодом (это часть системы Isis2, доступная для бесплатной загрузки от Cornell по адресу http://www.cs.cornell.edu/ken/isis2), но у меня нет двухлинейной демонстрации проблемы. Тем не менее, я скажу, что эта часть Isis2 довольно зрелая к настоящему времени и была многопрофильной счастливо в течение 3 лет или около того, поскольку я расширил и работал с библиотекой. Как уже отмечалось, я подозреваю, что это может быть проблема с Windows 7.

Я никогда не вижу проблемы с небольшими пакетами, поэтому он определенно имеет какое-то отношение к отправке больших.

+0

Я могу пообещать, что если кто-то из вас хорошо понимает меня, я обязательно его приму. –

+2

Кен, если вы в конечном итоге найдете ответ за пределами сайта, не стесняйтесь отвечать на свой вопрос и отмечаете его как принятый. Эта информация может быть полезной и для кого-то еще в будущем! –

+0

Хорошее предложение, я сделаю это. Теперь очень старые темы отмечены закрытыми, поэтому я не могу сделать это ретроактивно. Вид стыда, потому что на самом деле ваша точка мертва. –

ответ

0

Я думаю, что Benjie может быть прав относительно предложения NIC. Я попробовал это на двух других машинах, и один и тот же код работал без проблем. Здесь, на моем Apple Mac, работающем под Windows, «застрял» ... очень любопытно. Итак, Бенджи, теперь, когда я могу подтвердить, что это может быть сетевой адаптер, вы хоть представляете, на что я должен смотреть? Это должно быть то, что я делаю ... На самом деле Mac действует странно и по-другому: всплески трафика IPMC заставляют мою сессию VPN прерываться. Настолько ясно, что сетевой адаптер каким-то образом участвует во время этих прогонов, даже со всеми получателями на одной машине.

В настоящее время я работал над этим, установив значение TTL равным 0 при выполнении экспериментов, ограниченных моей единой платформой Windows, работающей на Mac. У этого есть дополнительное преимущество, которое я не делаю в результате DDoS-атаки на моем интернет-радио и телевидении внизу. Но мне любопытно и хотелось бы понять, что может вызвать 2-секундную задержку при беспроводном IPMC в моем доме!

В любом случае, спасибо Бенджи. Хорошая идея.