Таинственный сокет / HttpWebRequest таймауты - PullRequest
0 голосов
/ 08 апреля 2010

У меня есть отличное приложение для захвата потоков shoutcast :-). До сих пор он работал с очарованием на десятках машин и никогда не демонстрировал поведения, которое я обнаружил сейчас, что в конечном итоге очень странно.

Я использую HttpWebRequest для подключения к различным серверам shoutcast, и когда я подключаю два потока, все в порядке. Когда я иду на третий,

   response = (HttpWebResponse)request.GetResponse();

выбрасывает с исключением Тайм-аут соединения.

WTF? Я должен указать, что мне пришлось создать .config для приложения, чтобы разрешить отправку заголовков из приложения, иначе это не будет работать вообще. Вот оно:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
    <settings>
    <httpWebRequest useUnsafeHeaderParsing = "true" />
</settings>
</system.net>
</configuration>

Звонит ли что-нибудь из этого?

Ответы [ 2 ]

2 голосов
/ 08 апреля 2010

Вероятно, этот сайт имеет ограничение на количество одновременных подключений с одного и того же IP-адреса. Также посмотрите на

ServicePointManager.DefaultConnectionLimit

По умолчанию это значение равно 2. Измените его на большее.

0 голосов
/ 08 апреля 2010

Может быть, сервер ShoutCast, к которому вы подключаетесь, разрешает только два одновременных подключения с одного компьютера? Или, может быть, ваши локальные настройки разрешают только два одновременных исходящих соединения?

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