Клиент Javascript: Websocket не работает? - PullRequest
0 голосов
/ 16 января 2019

У меня есть веб-сокет PHP (Ratchet 13), и он отлично работает. Я могу подключиться к этому ws через C # без каких-либо проблем. Теперь я хотел бы подключиться к своему веб-сокету, но с использованием JavaScript и на стороне клиента.

На моем веб-сайте я хотел бы, чтобы клиент был подключен к моей веб-розетке и мог отправлять / получать данные в режиме реального времени с сервера. На самом деле соединение успешно, но события никогда не называются. РЕДАКТИРОВАТЬ: Через несколько минут страница загружена, у меня это в консоли: «Ошибка подключения WebSocket к« ws: // x: 8080 / »: истекло время ожидания открытия WebSocket»

Я перепробовал много методов.

document.getElementById("value_ws").innerHTML = "coning";
//just some cheks 1

var ws = new WebSocket("ws://localhost:8080"); 
//here i replace localhost by my IP otherwise it don't connect

ws.onopen = function(e) {
    console.log("open");
};

ws.addEventListener('open', function (event) {
    ws.send('Hello Server!');
});

//both of theses events are never called
//i successfully receive the connection on my server ws console
//but when i send data, the event is never called   

document.getElementById("value_ws").innerHTML = "coned";
//just some cheks 2

Если у вас есть несколько советов, которые вы можете дать мне, я беру! С наилучшими пожеланиями

Ответы [ 2 ]

0 голосов
/ 16 января 2019

РЕШИТЬ: проблема пришла с моего сервера, который не отвечал на рукопожатие.

<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;

    require dirname(__DIR__) . '/vendor/autoload.php';

    $server = IoServer::factory(
        new HttpServer(
            new WsServer(
                new Chat()
            )
        ),
        8080
    );

    $server->run();
0 голосов
/ 16 января 2019

Некоторые браузеры не позволяют подключаться к незащищенным веб-сокетам. Вам нужно проверить с включенным SSL / TLS и "wss: // localhost: 8080" в качестве вашего соединения.

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