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

9cbw7uwe  于 2023-05-28  发布在  Node.js
关注(0)|答案(1)|浏览(132)

我正试图让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' })

哪个有用?

watbbzwu

watbbzwu1#

可能是因为.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' })

相关问题