PHP — Неблокирующие исходящие TCP-соединения — Как?

#php #sockets #tcp

#php #сокеты #tcp

Вопрос:

Я немного знаком с различными методами выполнения неблокирующего ввода-вывода в PHP, но ответ на этот вопрос, похоже, ускользает от меня. Позвольте мне описать, что я пытаюсь сделать:

Я хотел бы иметь статический класс под названием «Monitor», в который я мог бы отправлять различные сообщения. Затем класс должен подключиться к внешнему TCP-серверу и отправить эти сообщения вместе — Но я не хочу ждать, пока это произойдет. Все, начиная с первоначального подключения к внешнему серверу и заканчивая отправкой сообщения, должно происходить асинхронно, в то время как мой скрипт уже перешел к другим вещам.

Возможно ли это? В настоящее время я пытаюсь использовать fsockopen(), stream_set_blocking() и т.д…

Комментарии:

1. С чем связан wrang stream_set_blocking (который вы использовали в настоящее время)?

2. Привет, вы нашли решение для этого?

Ответ №1:

То, о чем вы говорите, в основном многопоточно (что не является обычным способом использования php). Вы можете проверить эту статью, чтобы узнать, как это сделать. Однако я бы не рекомендовал использовать это в производстве.

Комментарии:

1. Я полагаю, что вы правы. Как я уже говорил ранее, я понимаю основы различных способов создания мультиплексированных сокетов в PHP и т.д., Но то, о чем я здесь говорю, на самом деле продвигает эту концепцию на один шаг дальше, за пределы того, что возможно с PHP (помимо различных механизмов разветвления, которые я не хочу использовать). Спасибо вам за разъяснение этого.