Обмен данными между потоками

Поддержка
  • @Teror2 said in Обмен данными между потоками:

    @Fox Софт на запросах и потоки 2-5 не должны использовать браузер отдельно, дабы оптимизировать немного

    Грубо говоря нужен всего один GET запрос к первому потоку, который выполнит задание и отдаст ответ

    Запросы итак работают отдельно от браузера. Повторю вопрос, для чего многопоток использовать?

  • @Fox
    как минимум каждый поток в последствии будет под разным ip ходить

    Использовать без прокладки не получиться - сайт под защитой cloudflare и требует наличие открытого браузера, по этому первый "get запрос" напрямую к нужному сайту выбьет ошибку доступа, по этому необходим один работающий поток/программа, которая и будет отдавать ответ на первый запрос

    второй запрос в потоке уже летит на другой сайт и там не нужно использовать браузер

  • @Teror2 said in Обмен данными между потоками:

    @Fox
    как минимум каждый поток в последствии будет под разным ip ходить

    Использовать без прокладки не получиться - сайт под защитой cloudflare и требует наличие открытого браузера, по этому первый "get запрос" напрямую к нужному сайту выбьет ошибку доступа, по этому необходим один работающий поток/программа, которая и будет отдавать ответ на первый запрос

    второй запрос в потоке уже летит на другой сайт и там не нужно использовать браузер

    Вы можете менять прокси только в http-клиенте и передавать куки из браузера после сброса http-клиента в одном и том же потоке

  • @Fox
    логика такая

    1 открыт сайт под защитой клауда

    2-5 посылает код первому потоку, первый поток исполняет и отдает ответ (те самые куки), далее под прокси посылается запрос на второй сайт с уже этими куками

    Смысл каждому 2-5 потоку грузить первый сайт каждый раз
    А под прокси лишь запросы на второй сайт, первый сидит на одном айпи

  • @Teror2 said in Обмен данными между потоками:

    @Fox
    логика такая

    1 открыт сайт под защитой клауда

    2-5 посылает код первому потоку, первый поток исполняет и отдает ответ (те самые куки), далее под прокси посылается запрос на второй сайт с уже этими куками

    Смысл каждому 2-5 потоку грузить первый сайт каждый раз
    А под прокси лишь запросы на второй сайт, первый сидит на одном айпи

    Вы так и не сказали, нафига в этой задаче многопоток, какую проблему он решает? Первый поток загружает сайт в браузере, далее в этом же потоке происходит работа на запросах, они ни как не связаны с браузером.

    Короче раз вам так принципиально - используйте глобальную переменную для передачи любых необходимых данных

  • @Teror2 said in Обмен данными между потоками:

    Поток 2: посылает данные потоку 1 (2+2), получает ответ и выводит "Результат вычислений - 4"
    Поток 3: посылает данные потоку 1 (3+3), получает ответ и выводит "Результат вычислений - 6"
    Поток 4: посылает данные потоку 1 (4+4), получает ответ и выводит "Результат вычислений - 8"
    Поток 5: посылает данные потоку 1 (5+5), получает ответ и выводит "Результат вычислений - 10"

    Вы хотите в много потоке под одними куками задрочить Клауд? Ничего не выйдет. Резать будет по частоте обращений.

    А вообще описание задачи так себе, вам действительно нужно знать 2+2 с калькулятор.ру?

  • @Bigma ничего не режет, мне нужно избежать запуска браузера в каждом потоке и загрузки сайта

    Как вариант сейчас вижу отдельную программу/сервер, которому буду посылать запрос, он исполнять код и отдавать ответ

  • В глобальную переменную клади куки из основного потока, в асинхронной не используй браузер бери куки из этой переменной а гетами дергой то что нужно

  • @Bigma так в глобальной переменной должны быть разные куки для каждого потока

    поток 2 шлет первому 2+2 и получает ответ 4 и уже делает запросы на основе ответа
    поток 3 шлет первому 3+3 и получает ответ 6 и т.д.

  • @Teror2 в смысле разные? Если разные то без запуска браузера не получится. Делай два скрипта - первый формирует задания, в однопотоке. Второй в много потоке выполняет эти задания. Но они будут каждый запускать браузер.