简单的NodeJS socketIO服务器抛出错误

时间:2015-03-02 16:26:10

标签: node.js

尝试调试这个简单的NodeJS socketIO服务器。

我在启动时不断收到以下错误消息。我无法看到代码有什么问题。

有人可以帮忙吗?

  

TypeError:listener必须是一个函数       在TypeError()       at Namespace.EventEmitter.addListener(events.js:130:11)       在Server。(匿名函数)[as on](/Users/foo/bin/node_modules/socket.io/lib/index.js:364:16)       在对象。 (/Users/foo/bin/foo.js:11:4)       在Module._compile(module.js:456:26)       at Object.Module._extensions..js(module.js:474:10)       在Module.load(module.js:356:32)       在Function.Module._load(module.js:312:12)       在Function.Module.runMain(module.js:497:10)       在启动时(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 个答案:

答案 0 :(得分:2)

你错过了一些问题:

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

答案 1 :(得分:2)

你忘了带一个快递的例子。我希望我的下面的例子可以帮助你。

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);