Проблема в настройке сокета сервера - PullRequest
0 голосов
/ 28 марта 2012

У меня есть сервер сокетов в php server.php

$master  = WebSocket("localhost",800);    
$sockets = array($master);
$users   = array();
$debug   = false;

function WebSocket($address,$port)
{
    $master=socket_create(AF_INET, SOCK_STREAM, SOL_TCP)     or die("socket_create() failed");
    socket_set_option($master, SOL_SOCKET, SO_REUSEADDR, 1)  or die("socket_option() failed");
    socket_bind($master, $address, $port)                    or die("socket_bind() failed");
    socket_listen($master,20)                                or die("socket_listen() failed");
    echo "Server Started : ".date('Y-m-d H:i:s')."\n";
    echo "Master socket  : ".$master."\n";
    echo "Listening on   : ".$address." port ".$port."\n\n";
    return $master;
}

В моей командной строке я сделал

sudo chmod 777 /socket/websocket/server.php

, затем

php -q /socket/server.php trying to bring it up. 

, тогда естьошибка,

Предупреждение: socket_bind (): невозможно привязать адрес [13]: в строке /socket/websocket/server.php в строке 60

отказано60 - это

socket_bind($master, $address, $port)                    or die("socket_bind() failed");
$master=id+4
$address=localhost
$port=800

Я имею в виду, что я уже преобразовал этот файл в 777, почему по-прежнему не удается связать адрес для файла сервера сокетов?

Если я изменил адрес порта на 12345. то новая ошибка будетsay

Предупреждение: socket_bind (): невозможно привязать адрес [48]: адрес уже используется в /socket/websocket/server.php в строке 67

1 Ответ

8 голосов
/ 28 марта 2012

Попробуйте использовать номер порта больше 1024 для большинства системных портов, для которых требуются привилегии root.

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