Компактный каркас 3,5
Windows CE 6.0 R3
BSP на основе Atmel
Ситуация : несколько устройств из одного шлюза, подключенного к веб-службе за брандмауэром. Все устройства устанавливают соединение с одним и тем же IP-адресом и портом источника.
Проблема : По сути, новое устройство пытается подключиться к веб-службе, брандмауэр считает, что это существующее подключение, отправляет пакет RST. Устройство последовательно увеличивает исходный порт и пытается снова. Если есть 100 устройств, это 100 RST подряд, что занимает очень много времени. (см. http://www.fuzeqna.com/sonicwallkb/consumer/kbdetail.asp?kbid=8013&formaction=catalert)
Решение, согласно статье, заключается в рандомизации исходного порта. Как определяется порт источника и как его настроить? Я даже не уверен, где это делается (CE, CF, BSP).
Edit:
Нашел эту статью о ServicePoint . ServicePoint для класса HttpWebRequest выглядит многообещающе, но в спецификации говорится:
Windows Mobile для КПК, Windows
Мобильный телефон для смартфонов, Windows CE
Примечание платформы: это свойство имеет значение null
пока запрос не будет отправлен из-за
дополнительная сеть передачи
требуется.