我正在关注this tutorial上的教程。这是代码:
var net = require('net')
var chatServer = net.createServer()
chatServer.on('connection', function(client) {
client.write('Hi!\n');
client.write('Bye!\n');
console.log("got msg from http"); //added
client.end()
})
chatServer.listen(9000)
我在console.log
和bye
client.end()
当我运行它并点击端口9000时,console.log
被输出两次而不是一次。
got msg from http
got msg from http
谁知道为什么?
由于
答案 0 :(得分:1)
我猜你正在使用浏览器来测试你的服务器。您所看到的是两个不同的传入HTTP请求。尝试以下代码,您可能会看到有两个传入的HTTP请求:
var net = require('net')
var chatServer = net.createServer()
chatServer.on('connection', function(client) {
client.write('Hi!\n');
client.write('Bye!\n');
console.log("got msg from http"); //added
client.on('data', function (data) {
console.log('data: \n%s', data)
});
client.end()
})
chatServer.listen(9000)
这两个请求应为GET /
和GET /favicon.ico
,favicon.ico是显示在浏览器标签和书签等上的图标。