| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Распределённые приложения и сеть > TcpClient & WebClient |
| Автор: Sartorius 4.8.2006, 09:53 |
| Пытаюсь с помощью TcpClient создать соединение на 80 - й порт с HTTP сервером. TcpClient долго пытается это сделать (client.Connect("www.vingrad.ru", 80)) потом вылетает с исключением. C WebClient-ом нет проблем. Почему так? Кто нибудь знает? |
| Автор: papaP 4.8.2006, 09:58 |
| может у тебя прокся стоит? напиши, что за ексепшон |
| Автор: Sartorius 4.8.2006, 10:38 | ||
SocketException по таймауту во время соединения. А че делать если прокси стоит? Никогда с сетью не работал ЗЫ Попробовал к прокси-серверу обратиться, он сразу соединение разрывает |
| Автор: Snowy 4.8.2006, 10:48 |
| Иссесно. Если стоит прокси, то нужно работает по его правилам. Если никогда с сетью не работал, то зачем пытаешься работать с http вручную? Юзай TIdHTTP. |
| Автор: papaP 4.8.2006, 11:17 |
| На чем пишешь и в чем задача, я тебе пару примеров кину |
| Автор: Sartorius 4.8.2006, 11:18 | ||
Простите за балаган, прокси отвечает, я не на тот порт подключался. TIdHTTP - эта где?В MSDN не нашел. И такой еще вопрос : как мне подключиться к не HTTP сервисам на серверах с внешними IP. Тоже через proxy? Хоцца понять , как мона создать TCP соединение внешним серверо... |
| Автор: papaP 4.8.2006, 11:48 |
| > Простите за балаган, прокси отвечает, я не на тот порт подключался. Конечно! не на тот )), тебе сначала надо установить соединение с проксей, а потом уже(через проксю) коннектится куда надо, вот не большой пример, используя httpwebrequest: HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.40607)"; req.CookieContainer = cooks; WebProxy myProxy=new WebProxy(proxyHost,proxyPort); req.Proxy = myProxy; // отправляем запрос, получаем ответ string _response; try { using (System.IO.Stream resst = ((HttpWebResponse)req.GetResponse()).GetResponseStream()) { _response = new StreamReader(resst, Encoding.GetEncoding(1251)).ReadToEnd(); } } catch(Exception ex) { _response = ex.ToString(); } |
| Автор: Sartorius 4.8.2006, 12:15 |
| Спасибо, вроде начинаю въезжать |
| Автор: mr.DUDA 4.8.2006, 16:29 |
| papaP, для оформления кода пользуйтесь кнопкой "Код", что над формой ответа. Для цитат тоже есть кнопка. |