我想制作一个应用程序,多个客户端可以连接到服务器。我使用节点服务器和 socket.io 在 reactjs 中制作它。
基本上,应用程序的运行方式是首先使用在端口 5000 上运行的命令 node server.js
运行节点服务器,然后使用命令 npm start
运行反应应用程序
我试图在 App.js 中做到这一点:
function App() {
var socket = io.connect();
socket.on("canvas-data", function() {
console.log("connecting to server");
});
这是我在 server.js 中的服务器代码:
var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);
var bodyParser = require('body-parser');
app.use(bodyParser.json({type:'application/json'}));
app.use(bodyParser.urlencoded({extended:true}));
io.on('connection', (socket)=> {
console.log('User Online');
socket.on('canvas-data', (data)=> {
socket.broadcast.emit('canvas-data', data);
console.log(data);
})
})
var server_port = process.env.YOUR_PORT || process.env.PORT || 5000;
http.listen(server_port, () => {
console.log("Started on : "+ server_port);
})
问题是我在 server.js "User Online"
的终端中没有看到。客户端没有连接,我不知道我做错了什么