Node.js聊天应用程序无法加载

时间:2013-02-12 20:38:54

标签: node.js

我刚创建了一个node.js聊天应用..但该应用无法加载。 代码是非常基本的node.js聊天应用程序:

// Load the TCP Library
var net = require('net');

// Keep track of the chat clients
var clients = [];

// Start a TCP Server
net.createServer(function (client) {

    console.log("Connected!");

    clients.push(client);

    client.on('data', function (data) {
        clients.forEach(function (client) {
            client.write(data);
        });
    });

}).listen(5000);

// Put a friendly message on the terminal of the server.
console.log("Chat server is running\n");

编译完成后,我在chrome浏览器localhost:5000中写入,但页面继续加载,永远不会完成。

但是,以下代码完美无缺:

// Load the TCP Library
net = require('net');

// Start a TCP Server
net.createServer(function (client) {
    client.write("Hello World");
    client.end();
}).listen(5000);


我在计算机上运行Windows 7 64位,而且我正在使用chrome。

在此先感谢!

3 个答案:

答案 0 :(得分:2)

您正在使用net模块创建TCP / IP服务器,但您正在使用Web浏览器使用http协议访问它。

这彼此不匹配。

尝试使用telnet连接到您的服务器,例如,一切都应该没问题。

或者,如果您希望能够使用webbrowser进行连接,则需要使用http模块而不是net模块。

答案 1 :(得分:1)

网络库是否用于TCP,而不是用于HTTP。如果您使用TCS,您应该可以使用telnet访问聊天,但不能访问浏览器。

这是关于如何为HTTP写一个(来自http://nodejs.org/

的示例
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

答案 2 :(得分:1)

打开tcp连接时,请勿使用浏览器进行测试。

简单地测试

。{/ p>