I get 404 when I try to resolve '/socket.io/socket.io.js' from my Node server. I canโt determine why.
My server configuration is as follows:
var express = require('express') , engine = require('ejs-locals') , app = express() , http = require('http') , server = http.createServer(app) , io = require('socket.io').listen(server); // use ejs-locals for all ejs templates: app.engine('ejs', engine); app.set('views',__dirname + '/views'); app.set('view engine', 'ejs'); // so you can render('index') app.use(express.static(__dirname + '/public')); //define routes ... app.listen(3000); //socket io io.sockets.on('connection', function (socket) { socket.on('set nickname', function (name) { socket.set('nickname', name, function () { socket.emit('ready'); }); }); socket.on('msg', function () { socket.get('nickname', function (err, name) { console.log('Chat message by ', name); }); }); });
I have a client:
<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 am testing this locally (port: 3000). The socket code is basically ripped off from the socket.io example to get something working. I looked through other posts and cannot find where I am mistaken. Can anyone help?
thanks
source share