socket_create против fsockopen php - PullRequest
       6

socket_create против fsockopen php

15 голосов
/ 19 февраля 2009

Хостинг, который я использую в настоящее время, не позволяет мне использовать сокеты, вероятно, по уважительной причине с их стороны. Однако они позволяют мне использовать fsockopen . Мне было интересно, в чем разница, потому что некоторые скрипты, которые работали с socket_create и даже stream_socket_server , не работают с fsockopen . Тем не менее, если fsockopen должен работать, мой код указан ниже. Что он делает, так это слушает по своему IP-адресу входящие пакеты udp и читает их.

Спасибо

$sock = fsockopen("udp://x.x.x.x", $port);
while(1)
{
    $buf = fread($sock, 200);
    flush();
    ob_flush();
}

1 Ответ

12 голосов
/ 19 февраля 2009

fsockopen создает соединение с хостом, а не с прослушивающим сокетом.

fsockopen ($ address) ~ == socket_connect ( socket_create (), $ address)

Ваш хостинг-провайдер не хочет, чтобы вы прослушивали альтернативные порты / протоколы.

Если то, что у вас есть, работает, я бы не рассчитывал на то, что оно всегда будет работать, поскольку это будет ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...