Javascript Socket.io和express.js,如何使其工作?

Javascript Socket.io和express.js,如何使其工作?,javascript,node.js,express,socket.io,Javascript,Node.js,Express,Socket.io,我在网上看到了很多变化,但似乎没有什么对我有用。如何使socket.io 1.3.5和express 4.12.2正常工作 这就是我现在拥有的。我得到的错误是404,因为服务器无法提供/socket.io/socket.io.js app.js: var app = express(); var server = require('http').createServer(app); var io = require('socket.io').listen(server); io.on('con

我在网上看到了很多变化,但似乎没有什么对我有用。如何使socket.io 1.3.5和express 4.12.2正常工作

这就是我现在拥有的。我得到的错误是404,因为服务器无法提供
/socket.io/socket.io.js

app.js:

var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);

io.on('connection', function (socket) {
   console.log('connected');
});
index.hjs:

<script src="/socket.io/socket.io.js"></script>
        <script>
          var socket = io.connect();
          socket.on('news', function (data) {
            console.log(data);
          });
</script>

var socket=io.connect();
socket.on('news',函数(数据){
控制台日志(数据);
});

注意:我也尝试过使用cdn
,但没有成功。

要在express中使用socket.io,我们需要对默认费用没收进行一些更改

app.js:

var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);

io.on('connection', function (socket) {
   console.log('connected');
});
io.js

bin/www:

现在,对于索引模板,您应该像下面这样使用

<script src="/socket.io/socket.io.js"></script>
<script>
$(document).ready(function(){
      var socket = io();
      socket.on('news', function (data) {
        console.log(data);
      });

      });
});
</script>

$(文档).ready(函数(){
var socket=io();
socket.on('news',函数(数据){
控制台日志(数据);
});
});
});
这是一个有效的代码


谢谢

谢谢!似乎我所缺少的只是io.attach(服务器)。
var app = require('../app');
var io = require('../io');
var server = require('http').Server(app);

io.attach(server);
server.listen(8080);
<script src="/socket.io/socket.io.js"></script>
<script>
$(document).ready(function(){
      var socket = io();
      socket.on('news', function (data) {
        console.log(data);
      });

      });
});
</script>