如何在angularjs和Express.js中包含socket.io?

时间:2013-11-21 08:48:52

标签: node.js angularjs express socket.io

将socket.io与nodejs和angular

一起使用
myApp.factory('socket', function ($rootScope) {
  var socket = io.connect('http://localhost');

'io'未定义错误

我正在写作: -

var io = require('socket.io').listen(app.listen(app.get('port')));
io.sockets.on('connection', function (socket) {
    console.log('io.socket connection');
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

服务器未显示错误。

我正在尝试关注this教程。

编辑: - 当我添加<script src="http://cdn.socket.io/stable/socket.io.js"></script>

它说connect不是对象'io'的方法

1 个答案:

答案 0 :(得分:3)

Socket.io旨在安装在服务器和客户端上。通过在服务器上调用require(),您可以使用服务器端库,但仍需要在浏览器中包含客户端库。

将它放在HTML文件(CDN provided by Cloudflare)中的某处:

<script src="http://cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js"></script>

请注意,这在Socket.io网站the front page的基本示例中有详细说明。