Я пытаюсь отправить данные двунаправленно между сервером узла и клиентом браузера.
Я могу получить информацию с сервера Node на клиент браузера, но не наоборот.Я не понимаю, что я делаю неправильно, пожалуйста, помогите.
Узел server.js
var express = require('express')
var app = express();
var http = require('http').Server(app);
var socketTx = require('socket.io')(http);
app.use(express.static(__dirname + '/'))
http.listen(3000, function(){
console.log('listening on http://127.0.0.1:3000');
});
// 1) Send initial data from node to browser
setInterval( function() {
var msg = Math.random();
socketTx.emit('Node', msg);
}, 1000);
var io = require('socket.io-client');
var socketRx = io.connect('http://localhost:3000', {reconnect: true});
// 4) Receive data from browser and log in node console
socketRx.on('Browser', function(msg){
console.log(msg);
});
Браузер index.html
<html>
<head></head>
<body>
<div id="message"></div>
<script src="/socket.io/socket.io.js"></script>
<script src="socket.js"></script>
</body>
</html>
Браузер socket.js
var socketRx = io();
var socketTx = io();
// 2) Receive initial data from node and display in browser
socketRx.on('Node', function(msg){
document.getElementById("message").innerHTML = msg;
// 3) Send data from browser back to node
socketTx.emit('Browser', msg);
});