kulonful
@kulonful
backend developer

Как подключиться к WebSocket'y?

Пытаюсь соединиться с сокетом строкой:
WebSocket connection to 'wss://kulonful.ru:8002/' failed: Error in connection establishment: net::ERR_CONNECTION_CLOSED

Не пойму в чём дело, код:
JavaScript (клиент)
var socket = new WebSocket("wss://kulonful.ru:8002/");

socket.onopen = function() {
    console.log('- соединение с сокетом установлено');
};

socket.onerror = function(error) {
    console.log('Произошла ошибка: ' + error.message);
};

socket.onmessage = function(event) {
    console.log('Получение данных: ' + event.data);
};
Node JS (сервер)
var app = require('express')(),
    http = require('http'),
    https = require('https'),
    fs = require('fs'),
    bodyParser = require('body-parser'),
    request = require('request'),
    sql = require('mysql'),
    WebSocketLib = new require('ws');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));

var optionssl = {
  key: fs.readFileSync('privatekey.pem'),
  cert: fs.readFileSync('certificate.pem')
},
clients = {};

http.createServer(app).listen(8001);
var SecureServer = https.createServer(optionssl, app).listen(8000);
var WebSocket = new WebSocketLib.Server({
  port: 8002,
  httpsServer: SecureServer,
  verifyClient: true
});

console.log(WebSocket);

WebSocket.on('connection', function(ws) {
    var id = Math.random();
    clients[id] = ws;
    console.log('Новое соединение ' + id);
    ws.on('message', function(message) {
        console.log('Получены данные: ' + message);
    });
    ws.on('close', function() {
        console.log('соединение закрыто ' + id);
        delete clients[id];
    });
})
  • Вопрос задан
  • 1412 просмотров
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
если опция verifyClient установлена, то она должна быть функцией, которая либо возвращает true/false (принимать рукопожатие или нет) либо вызывать колбэк из 2 аргумента
https://github.com/websockets/ws/blob/master/doc/ws.md
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы