Я создаю приложение, используя Node.js + Express + Express-ws, но при попытке отправить сообщение после подключения я получаю следующую ошибку:
const fs = require('fs');
const http = require('http');
const https = require('https');
const express = require('express');
const app = express();
/*
const key = fs.readFileSync('./security/server-key.pem', 'utf8');
const cert = fs.readFileSync('./security/server-crt.pem', 'utf8');
const ca = fs.readFileSync('./security/ca-crt.pem', 'utf8');
const credentials = {key: key, cert: cert, ca: ca};
var httpsServer = https.createServer(credentials, app);
*/
var httpServer = http.createServer(app);
httpServer.listen(8443, function(){
console.log('Listening on *:8443 \n');
});
httpServer.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('received: ' + message);
ws.send(message);
});
ws.send('Hi there, I am a WebSocket server');
});
//ROUTES
app.get('/charger/:id', function(req, res){
res.send('<h1>Hello ' + req.params.id + '</h1>');
});
app.get('*', function(req, res){
res.status(404).send('404 — Not Found');
});
Комментарийчтобы убедиться, что я могу использовать позже HTPPS без слишком большого количества изменений.
Ошибка следующая:
TypeError: ws.send is not a function
at Server.<anonymous> (index.js:26:5)
at Server.emit (events.js:194:15)
at TCP.onconnection (net.js:1517:8)