Connect/node.js-创建简单服务器

Connect/node.js-创建简单服务器,node.js,connect,coffeescript,socket.io,Node.js,Connect,Coffeescript,Socket.io,我正试图让connect/node.js很好地、简单地协同工作。 我有以下内容(在咖啡脚本中) 但不断出现以下错误: TypeError: Cannot call method 'listeners' of undefined 服务器似乎没有及时初始化,套接字无法开始侦听 与之相比: io = require ("socket.io") http = require('http') server = http.createServer() server.listen(8000) sock

我正试图让connect/node.js很好地、简单地协同工作。 我有以下内容(在咖啡脚本中)

但不断出现以下错误:

TypeError: Cannot call method 'listeners' of undefined
服务器似乎没有及时初始化,套接字无法开始侦听

与之相比:

io = require ("socket.io")
http = require('http')

server = http.createServer()

server.listen(8000)

socket = io.listen(server)

socket.on 'connection', (socket) ->
  socket.send({ hello: 'world' })

哪一个有效…

可能是因为
.listen()
返回其他内容。如果您像这样重写代码,它应该可以工作:

connect = require('connect')
io = require('socket.io')

server = connect.createServer(
    connect.favicon()
  , connect.logger()
  , connect.static(__dirname + '/public')
)
server.listen(8000)

socket = io.listen(server)
socket.on 'connection', (socket) ->
  socket.send({ hello: 'world' })

非常感谢。工作所以,我将服务器设置为listen方法的结果,而不是定义它,并调用listen。。啊。
connect = require('connect')
io = require('socket.io')

server = connect.createServer(
    connect.favicon()
  , connect.logger()
  , connect.static(__dirname + '/public')
)
server.listen(8000)

socket = io.listen(server)
socket.on 'connection', (socket) ->
  socket.send({ hello: 'world' })