我正在尝试让 connect/node.js 很好地简单地协同工作。 我有以下内容(在 coffeescript 中)
connect = require('connect')
io = require('socket.io')
server = connect.createServer(
connect.favicon()
, connect.logger()
, connect.static(__dirname + '/public')
).listen(8000)
socket = io.listen(server)
socket.on 'connection', (socket) ->
socket.send({ hello: 'world' })
但是一直报错:
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' })
关于node.js - Connect/node.js - 创建一个简单的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960090/