Насколько я знаю, производительность почти одинакова, но результат подключения после инициализации будет другим.Например, fsockopen()
откроет соединение и сразу перейдет в LISTENING
-состояние, где socket_create()
просто создаст соединение, а socket_open()
поместит его в LISTENING
-состояние.
Можно сказать,: fsockopen() === socket_open(socket_create(), ADDRESS)
Кроме того, после того, как вы выполните socket_shutdown()
и socket_close()
, вы оставите соединение в TIME_WAIT
-состоянии, что заставит сокет ждать, пока приемный конец сокета не отсоединится, что может занять некоторое время.
В целом, там все то же самое, выберите тот, который вам нравится больше всего, и лучше всего соответствует вашим намерениям.Если вы хотите предварительно создать все сокеты, но подключаться только в определенное время, используйте socket_create()
, в противном случае используйте fsockopen()
, поскольку это проще.
Если у вас есть собственный веб-сервер и нет намеренияРаспространяя свой код, вы также можете взглянуть на cURL, который, по сути, такой же, как и другие варианты, но имеет больше встроенных отказоустойчивых.