Почему при попытке установить веб-сокет отказывается соединение? - PullRequest
1 голос
/ 19 октября 2019

Я пытаюсь установить соединение через веб-сокет между клиентом java-скрипта и сервером php. Однако всякий раз, когда я пытаюсь подключиться, я получаю сообщение об ошибке «Отказано в соединении».

Я уже могу создать соединение через веб-сокет между двумя сценариями php, что заставляет меня думать, что код на стороне сервера правильный.

Пожалуйста, объясните, как я могу решить эту проблему.

Сервер (PHP):

$host = "108.167.140.91";
$port = 5353;
set_time_limit(30);
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
// bind socket to port
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
// start listening for connections
$result = socket_listen($socket, 20);

// accept incoming connections
// spawn another socket to handle communication
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");

socket_write($spawn, "connected", strlen ("connected"));

// close sockets
socket_close($spawn);
socket_close($socket);

Клиент (HTML):

<html>
<script>
var socket = new WebSocket("ws://108.167.140.91:5353");

// Open the socket
socket.onopen = function(event) {
    console.log("connected");

    // To close the socket....
    socket.close()

};
</script>
</html>

Вы можете проверитьэто для себя здесь:

Сервер: http://chrislanggames.site/SocketTest/server3.php

Клиент: http://chrislanggames.site/SocketTest/client2.html

Рабочий клиент PHP: http://chrislanggames.site/SocketTest/client.php

1 Ответ

0 голосов
/ 19 октября 2019

Попробуйте изменить хост на «0.0.0.0» .... это означает, что он может принимать запросы на подключение к сокету с любого хоста.

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