Какая зависимость работает для меня?
Я уже давно использую socketIO, и он отлично работает для / серверов API Node.JS. Есть миллионы обучающих программ онлайн для этой платформы, и я расскажу вам один из них.
Как установить?
Если вы используете NPM в качестве менеджера пакетов в Node.JS, просто запустите его с помощью следующей команды:
npm install --save socket.io
Если вы используете пряжу, вы можете установить socketIO следующим образом:
yarn add socket.io
Настройка сервера сокетов:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
// Used for serving the HTML page (if used)
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
// Listen for new connections
io.on('connection', function(socket){
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
Теперь в index.html я добавляю следующий фрагмент перед:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
</script>
В вашем интерфейсе вы можете запустить событие через сокет, вызвав следующую функцию / код:
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
$(function () {
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
});
</script>
В нашем случае мы отправили событие, называемое сообщением чата. Таким образом, чтобы получить значение, передаваемое через сокетное соединение, мы вызываем следующий код в нашем backend / api:
io.on('connection', function(socket){
socket.on('chat message', function(msg){
console.log('message: ' + msg);
});
});
и именно так вы используете сокет с библиотекой SocketIO. Надеюсь, это помогло решить вашу проблему!