Как создать соединение WebSocket? - PullRequest
0 голосов
/ 11 ноября 2018

Извините за мой английский = (

Я изучаю WebSocket и не могу понять, как создать соединение.

Я использую Laravel + Redis + Socket.io (только сервер)

на сервере server.js

WebSocketServer = require('ws');
let webSocketServer = new WebSocketServer.Server({
    port: 3000
});
let io = require('socket.io')(webSocketServer);
let Redis = require('ioredis');

let redis = new Redis();

redis.psubscribe('channel_*');
redis.on('pmessage', function (pattern, channel, message) {
    console.log('Message recieved: ' + message); // work
    console.log('Channel: ' + channel); // work
    msg = JSON.parse(message);
    io.emit(channel + ':' + msg.event, msg.data.result); // don't work
});

на клиенте

        let socket = new WebSocket("ws://127.0.0.1:3000");

        socket.onopen = function() {
            console.log("Connect ok."); // work
        };

        socket.onclose = function(event) {
            if (event.wasClean) {
                console.log('Connect close');
            } else {
                console.log('Connect close 2');
            }
            console.log('Code: ' + event.code + ' reason: ' + event.reason);
        };

        socket.onmessage = function(event) {
            console.log("Get data " + event.data); // don't work
        };

        socket.onerror = function(error) {
            console.log("Error ", error);
        };

Но io.emit (...) не работает.

Я не хочу использовать библиотеку window.io = require ('socket.io-client');

Спасибо!

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