2015-03-02 43 views
1

試圖調試這個簡單的NodeJS socketIO服務器。簡單的NodeJS socketIO服務器拋出錯誤

我在啓動時收到以下錯誤消息。我看不出任何代碼有問題。

任何人都可以幫忙嗎?

TypeError: listener must be a function at TypeError() at Namespace.EventEmitter.addListener (events.js:130:11) at Server.(anonymous function) [as on] (/Users/foo/bin/node_modules/socket.io/lib/index.js:364:16) at Object. (/Users/foo/bin/foo.js:11:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16)*

var app = require("express"); 
var server = require("http").Server(app); 
var io = require("socket.io")(server); 

io.on("connection", handleClient); 


var handleClient = function (socket) { 
    // we've got a client connection 

    socket.emit("tweet", {user: "nodesource", text: "Hello, world!"}); 
}; 

app.listen(8080); 

回答

2

你缺少一些括號:

var app = require('express')(); 
1

你忘了帶Express實例。我希望我的下面的例子能幫助你。

var express = require("express"); 
var app = express(); 
var server = require("http").Server(app); 
var io = require("socket.io")(server); 

io.on("connection", handleClient); 


var handleClient = function (socket) { 
    // we've got a client connection 

    socket.emit("tweet", {user: "nodesource", text: "Hello, world!"}); 
}; 

app.listen(8080);