我尝试了许多方法来用Express连接套接字-io客户端和服务器,但是它不起作用,现在我不知道可能是什么错误。
我试图克隆socket-io网站上可用的示例,但它没有显示任何连接或没有执行任何功能。
This is server.js and this is my code i have made many changes in it but not working.
var express = require('express');
var app = express();
var path = require('path');
//require socket.io
var http = require('http').createServer(app);
var io = require('socket.io')(http);
//Setup a public path to load files
app.use(express.static('public'))
//app.use(express.static(path.join(__dirname,'public')));
//Route for index
app.get(('/'),(req,res)=>{
res.send('index');
});
//Socket connection
io.on('connection',function (socket) {
socket.emit('news',{ hello: 'world' });
socket.on('my other event',function (data) {
console.log(data);
});
});
app.listen(3000,()=>{
console.log('server running on port 3000');}
);
This is index.html that the server.js is sending i only included the script
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:3000');
socket.on('news',function (data) {
console.log(data);
socket.emit('my other event',{ my: 'data' });
});
</script>
I expect it to console log when socket is connected and disconnected and emit the functions normally.