непонятки с PR_ConnectContinue и PR_Connect в ФФ

Тема в разделе "WASM.RESEARCH", создана пользователем zykk, 3 дек 2010.

  1. zykk

    zykk New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2010
    Сообщения:
    3
    Уважаемые,
    хочется пойти дальше работы с функциями pr_write и pr_read и научиться в фф делать фейки для урлов с неккоректными домеными.(если домены корректны то задача сводиться к подмене сообщения 404(ну или что он там выдадет) - на то что нам надо)
    Если же домен не существует, то ситуация инетресней.
    Автодебаг говорит, что при любом подключении к урлу, идет вызов пары функций
    PR_Connect - которые даже для корректных урлов возвращает PR_FAILURE
    PR_ConnectContinue - которые для корерктных урлов возвращает PR_SUCCESS, а для выдуманных PR_FAILURE ( при этому долго тупит)

    Вопросы:
    * почему подключение к урлу двустадийное(почему первый коннект возвращаетошибку)
    * собственно где можно найти доку по PR_ConnectContinue . На официальном сайте страничка для эту функции ведет вникуда (https://developer.mozilla.org/index.php?title=en/NSPR_API_Reference/I%2F%2FO_Functions)

    зарание спасибо за наводки.
     
  2. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    а в сорцах посмотреть не судьба?
     
  3. zykk

    zykk New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2010
    Сообщения:
    3
    эээ, настолько очевидно, что даже не ожидал
     
  4. zykk

    zykk New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2010
    Сообщения:
    3
    Ну собстенно если кому вдруг пригодиться:

    * FUNCTION: PR_ConnectContinue
    * DESCRIPTION:
    * Continue a nonblocking connect. After a nonblocking connect
    * is initiated with PR_Connect() (which fails with
    * PR_IN_PROGRESS_ERROR), one should call PR_Poll() on the socket,
    * with the in_flags PR_POLL_WRITE | PR_POLL_EXCEPT. When
    * PR_Poll() returns, one calls PR_ConnectContinue() on the
    * socket to determine whether the nonblocking connect has
    * completed or is still in progress. Repeat the PR_Poll(),
    * PR_ConnectContinue() sequence until the nonblocking connect
    * has completed.