Connect / node.js - creating a simple server

I am trying to connect /node.js to work together beautifully and simply. I have the following (in 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' }) 

But keep getting the following error:

 TypeError: Cannot call method 'listeners' of undefined 

It seems that the server is not initializing in time for the socket to start listening.

Compare with:

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

What works...

+6
source share
1 answer

Perhaps because .listen() returns something else. It should work if you rewrite your code as follows:

 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' }) 
+5
source

Source: https://habr.com/ru/post/887792/


All Articles