HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Нужна помощь с сокетами на C#
  #1  
Старый 27.10.2008, 18:24
l.sEw.l
Новичок
Регистрация: 19.06.2008
Сообщений: 11
С нами:
9417776

Репутация: 5
По умолчанию Нужна помощь с сокетами на C#

Написал я кое-что на пхп и мне понадобилось переписать под вин, пришлось осваивать сокеты на С#. В пхп сокеты - мегапросто, а вот в C# ну никак не могу разобраться с кучей возможных вариантов и т.д., кароче путаница полная в голове. Дело в том что я отлично знаю процедуру инициализации и использования сокета, мне нужен именно синтаксис, конкретный, рабочий, небольшой пример использования сокетов на C#, буквально коннект к яндексу, отправпа обчного заголовка и получение(вывод) контента. Выручайте...
 
Ответить с цитированием

  #2  
Старый 28.10.2008, 00:49
Feonor
Участник форума
Регистрация: 23.07.2008
Сообщений: 202
С нами:
9369202

Репутация: 122
По умолчанию

ну может так, вот примерчик:
Код:
using System;
using System.Net;

class NetDemo
{
    public static void Main()
    {
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.penisbot.ru");
        HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
        Stream istrm = resp.GetResponseStream();
        /*теперь у нас в потоке код html-документа*/
        ...
незабудь закрыть поток resp.Close();

Последний раз редактировалось Feonor; 28.10.2008 в 00:53..
 
Ответить с цитированием

  #3  
Старый 28.10.2008, 01:00
ToniKapuchon
Участник форума
Регистрация: 26.02.2006
Сообщений: 209
С нами:
10633766

Репутация: 93
По умолчанию

HttpWebRequest
WebRequest
почитай про ети два класса - будет тебе счастья!!
а ваще про сокеты на шарпе первый раз слышу...
 
Ответить с цитированием

  #4  
Старый 28.10.2008, 11:21
12usver12
Познающий
Регистрация: 12.12.2007
Сообщений: 81
С нами:
9691420

Репутация: 53
По умолчанию

проще чем в шарпе уже некуда
WebClient wc = new WebClient();
wc.DownloadFile("yandex.ru","C:\\1.html");
// а потом Streamreader работать

а можно не сохраняя на диск, в память
HttpWebRequest webRequest =(HttpWebRequest)WebRequest.Create("http://rambler.ru");
HttpWebResponse WebResponse = (HttpWebResponse)webRequest.GetResponse();
StreamReader streamReader = new StreamReader(WebResponse.GetResponseStream(),Encod ing.GetEncoding(1251));
string source = streamReader.ReadToEnd();
streamReader.Close();
 
Ответить с цитированием

  #5  
Старый 28.10.2008, 16:02
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
С нами:
10037186

Репутация: 1462
По умолчанию

 
Ответить с цитированием

  #6  
Старый 28.10.2008, 19:39
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами:
10653446

Репутация: 836


По умолчанию

омг, ToniKapuchon сколько работаешь с шарпом, да вообще с .NET?
выше указанные классы, это просто оболочки сокетов.

автор, как вариант можно тупо подгружать библиотеки. Атрибут DllImport (если мне память не изменяет)
P.S. вот же народ любит код дублировать, типа есть отличия.
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #7  
Старый 28.10.2008, 21:24
l.sEw.l
Новичок
Регистрация: 19.06.2008
Сообщений: 11
С нами:
9417776

Репутация: 5
По умолчанию

А как отправить обычный заголовок? Я попытался подобным образом:

Код:
public static void Main()
    {
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://yandex.ru");
        HttpWebResponse resp = (HttpWebResponse)req.GetResponse();

        StreamReader sr = new StreamReader(resp.GetResponseStream(), Encoding.GetEncoding(1251));
        StreamWriter sw = new StreamWriter(req.GetRequestStream(), Encoding.GetEncoding(1251));

        sw.Write("GET / HTTP/1.0\r\nAccept: */*\r\nAccept-Language: ru\r\nUA-CPU: x86\r\nHost: yandex.ru\r\nConnection: Keep-Alive\r\n\r\n");

        string source = sr.ReadToEnd();
        Console.WriteLine(source);
        sr.Close();
        sw.Close();
        Console.ReadLine();
    }
Пишет ошибку в потоке стримрайтера...
 
Ответить с цитированием

  #8  
Старый 28.10.2008, 22:35
l.sEw.l
Новичок
Регистрация: 19.06.2008
Сообщений: 11
С нами:
9417776

Репутация: 5
По умолчанию

Все, нашел, очень полезная статья: _http://www.gotdotnet.ru/LearnDotNet/NETFramework/491563.aspx
 
Ответить с цитированием

  #9  
Старый 29.10.2008, 01:07
12usver12
Познающий
Регистрация: 12.12.2007
Сообщений: 81
С нами:
9691420

Репутация: 53
По умолчанию

я ж тебе дал готовый кусок кода, который это все дело выполняет тока без использования httpheaders но они в даном случае и не нужны, да и еще для отображения русских букв используй кодировку utf-8
 
Ответить с цитированием

  #10  
Старый 31.10.2008, 19:19
l.sEw.l
Новичок
Регистрация: 19.06.2008
Сообщений: 11
С нами:
9417776

Репутация: 5
По умолчанию

Можно узнать как в C#, в консольном приложении реализовать вывод(изменения) переменных в реальном времени. То есть, например, в консоль вывел две строки:
Бэд :
Гуд :

после двоиточий по идее должны стоять переменные, которые в процессе работы программы естественно будут изменяться. Так вот, как осуществить подобный вывод?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь Worms С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 11 16.01.2008 13:08



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.