У меня есть приложение PHPWebSocket, и у моего server.php есть начальный код детали:
$Server = new PHPWebSocket();
$Server->bind('message', 'wsOnMessage');
$Server->bind('open', 'wsOnOpen');
$Server->bind('close', 'wsOnClose');
$Server->wsStartServer('127.0.0.1', 3306);
и код библиотеки PHPL у меня так:
// server state functions
function wsStartServer($host, $port) {
if (isset($this->wsRead[0])) return false;
if (!$this->wsRead[0] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) {
return false;
if (!socket_set_option($this->wsRead[0], SOL_SOCKET, SO_REUSEADDR, 1)) {
socket_close($this->wsRead[0]);
return false;
}
if (!socket_bind($this->wsRead[0], $host, $port)) {
socket_close($this->wsRead[0]);
return false;
if (!socket_listen($this->wsRead[0], 10)) {
socket_close($this->wsRead[0]);
return false;
}
Когда я использовал это на локальном компьютере, то все работало нормально, но когда я вставил это на хостинге ssh, я все время получал одну и ту же ошибку:
Предупреждение: socket_bind (): невозможно связать адрес [48]: адрес уже используется в /usr/home/rafaluf/class.PHPWebSocket.php в строке 110
Где здесь проблема? Как это исправить?
Попробуйте изменить номер порта, потому что 3306 — это номер порта MySQL по умолчанию, и проверьте также ip SERVER
$ Server-> wsStartServer (‘127.0.0.1’, XXXX);
Других решений пока нет …