【问题标题】:Connect / node.js - creating a simple serverConnect/node.js - 创建一个简单的服务器
【发布时间】:2011-08-23 00:54:27
【问题描述】:

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

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' })

哪个有效...

【问题讨论】:

    标签: node.js connect coffeescript socket.io


    【解决方案1】:

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

    【讨论】:

    • 谢谢!在职的。因此,我将 server 设置为 listen 方法的结果,而不是定义它,然后在其上调用 listen.. 啊。
    猜你喜欢
    • 2017-12-06
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 2012-04-30
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    相关资源
    最近更新 更多