Есть ли проблемы с TcpClient в .NET?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Jakeroid, 17 Jun 2012.

  1. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Столкнулся как-то давно с кривой обработкой кукисов в HttpWebRequest и HttpWebResponse. Написал свой велосипед, который исправил этот глюк.

    Сегодня решил just4fun написать свою обвертку поверх сокетов для HTTP. Но как оказалось, можно использовать непосредственно сокеты, а можно и TcpClient (с ним работать проще). В дальнейшем планирую прикрутить работы с SOCKS5/4.

    Есть ли какие-то проблемы у TcpClient? Если да, тогда будут писать на голых сокетах.

    Добавил:
    Имею ввиду, не столкнусь ли при разработке HTTP обвертки с какой-нибудь проблемой/ограничением TcpClient? Не хотелось бы просто потом переписывать на сокетах.
     
    #1 Jakeroid, 17 Jun 2012
    Last edited: 17 Jun 2012
  2. Spot

    Spot Elder - Старейшина

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    А можно узнать в чём "кривость"?А то как-то расплывчиво, хотелось бы знать поподробнее вероятные проблемы.
     
  3. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Банальный пример - попробуйте на HttpWebRequest/HttpWebResponse пройти авторизацию в Wordpress.

    Может быть я просто чего-то недопонимаю, но когда я делал, встретился с проблемой HttpWebResponse не устанавливал все кукисы, а только часть. Сейчас не уточню уже какие, но пришлось брать заголовки ответа и парсить кукисы вручную.

    Много гуглил, на некоторых форумах и в некоторых блогах писали, мол на серверной версии для IIS все норм, а в десктопной эта проблема есть (глюки с парсингом заголовков Set-Cookies.

    Если вы предоставите мне решение проблемы, без написания велосипедов - буду очень благодарен.
     
    #3 Jakeroid, 17 Jun 2012
    Last edited: 17 Jun 2012