34 lines
665 B
JavaScript
34 lines
665 B
JavaScript
'use strict';
|
|
|
|
var net = require('net');
|
|
var http = require('http');
|
|
|
|
var http80 = http.createServer(function (req, res) {
|
|
res.end('Hello, World!');
|
|
});
|
|
|
|
var tcp80 = net.createServer(function (socket) {
|
|
|
|
socket.once('data', function (chunk) {
|
|
|
|
if (/http\/1/i.test(chunk.toString())) {
|
|
console.log("looks like http, continue");
|
|
http80.emit('connection', socket);
|
|
} else {
|
|
console.log("looks like tcp, die");
|
|
socket.end();
|
|
}
|
|
|
|
socket.pause();
|
|
process.nextTick(function () {
|
|
socket.emit('data', chunk);
|
|
socket.resume();
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
tcp80.listen(80, function () {
|
|
console.log('listening on 80');
|
|
});
|