Мой вопрос: можно ли запустить библиотеку socket.io lib без использования express?Дело в том, что я хочу сделать узел внешним сервером веб-сокетов, который просто получает соединение с сокетами и обратные вызовы и просто отвечает на них, а не создает собственные маршруты или отправляет просмотр страницы (для этой работы я использую codeigniter).
Мое текущее тестовое приложение выглядит так на сервере:
var server = require('http').createServer(app);
var io = require('socket.io')(server);
var port = process.env.PORT || 4000;
server.listen(port, function() {
console.log('Server listening at port %d', port);
});
io.on("connection", function (socket) {
console.log('A new socket has joined: ' + socket.id);
var tweet = {user: "nodesource", text: "Hello, world!"};
// to make things interesting, have it send every second
var interval = setInterval(function () {
socket.emit("tweet", tweet);
}, 1000);
socket.on("disconnect", function () {
clearInterval(interval);
});
});
На клиенте:
<script>
const socket = io('http://localhost:4000/node_server');
socket.on('disconnect',function(){
alert('Im not connected, server is down');
});
socket.on("tweet", function(tweet) {
// todo: add the tweet as a DOM node
console.log("tweet from", tweet.username);
console.log("contents:", tweet.text);
});
Моя проблема в том, что я проверил с помощью экспресспример чата для socket.io и он работает ofc, но они используют route и отправляют страницу, и в моем случае я просто хочу, чтобы моя другая внешняя страница связывалась с узлом, а не узел, отправляющий мне страницу.В основном, когда я запускаю какой-нибудь emit или функцию на сервере или клиенте, он не срабатывает только на сервере, но ничего больше (ps: также использовал io.sockets.on и не работает). Если кто-то прошел это и знает, что мойпроблема может быть, я буду рад.