我刚创建了一个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。
在此先感谢!
答案 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>