2011-04-12 87 views
0

我在Node.js中尝试复制周围浮动的简单聊天服务器。Node.js抛出e错误

这是我的JavaScript源文件:

var net = require('net'); 
var carrier = require('carrier'); 

var connections = []; 

var server = net.createServer(function(conn) { 
    connections.push(conn); 

    conn.on('close', function() { 
     var pos = connections.indexOf(conn); 
     if (pos >= 0) { 
      connections.splice(pos, 1); 
     } 
    }); 

    conn.write("Hello, welcome to this chat server!\n"); 
    conn.write("Please input your user name:\n"); 

    var username; 

    carrier.carry(conn, function(line) { 
     if(!username) { 
      username = line; 
      conn.write("Hello " + username + "!\n"); 
      return; 
     } 

     if(line == 'quit') { 
      conn.end(); 
      return; 
     } 

     connections.forEach(function(one_connection) { 
      one_connection.write(line); 
     }); 
}); 

server.listen(8000); 

据我可以告诉,一切都在这里是正确的。

现在,当我试图通过Node.js的运行它,我得到如下:

script.js:39 
}); 

node.js:134 
    throw e; 

有一些东西后面,但我不明白的是Node.js的参考线39 ,甚至不存在。这是一个38行脚本与最后一行是:

server.listen(8000); 

所以,我做错了什么?

对不起,如果这真的很简单,我对此很新,而且有点令人望而生畏。

谢谢!

回答

1

您错过了底部的一组});。这是抱怨。

从您的压痕,从carrier.carry(conn, function(line) {

是我强烈建议得到(在Windows例如TextMate的Mac或EditPlus中上)的编辑器,可以指出匹配的括号/括号

+0

嘿感谢!我应该很高兴这是一个愚蠢的错误?的xD – Qcom 2011-04-12 02:14:55