Est-il possible d'activer tcp, http et websocket tout en utilisant le même port?

Je suis en train d'activer tcphttp et websocket.io communication sur le même port. J'ai commencé avec le serveur tcp (partie au-dessus ////ligne), il a travaillé. Ensuite, j'ai couru le serveur echo exemple trouvé sur websocket.io (partie ci-dessous ////ligne), il a également travaillé. Mais quand j'essaie de les fusionner, tcp ne fonctionne plus.

DONC, est-il possible d'activer le protocole tcp, http et les websockets tout en utilisant le même port? Ou dois-je l'écouter sur un autre port pour les connexions tcp?

var net = require('net');
var http = require('http');
var wsio = require('websocket.io');
var conn = [];
var server = net.createServer(function(client) {//'connection' listener
var info = {
remote : client.remoteAddress + ':' + client.remotePort
};
var i = conn.push(info) - 1;
console.log('[conn] ' + conn[i].remote);
client.on('end', function() {
console.log('[disc] ' + conn[i].remote);
});
client.on('data', function(msg) {
console.log('[data] ' + conn[i].remote + ' ' + msg.toString());
});
client.write('hello\r\n');
});
server.listen(8080);
///////////////////////////////////////////////////////////
var hs = http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type' : 'text/html'
});
res.end(['<script>', "var ws = new WebSocket('ws://127.0.0.1:8080');", 'ws.onmessage = function (data) { ws.send(data); };', '</script>'].join(''));
});
hs.listen(server);
var ws = wsio.attach(hs);
var i = 0, last;
ws.on('connection', function(client) {
var id = ++i, last
console.log('Client %d connected', id);
function ping() {
client.send('ping!');
if (last)
console.log('Latency for client %d: %d ', id, Date.now() - last);
last = Date.now();
};
ping();
client.on('message', ping);
});

source d'informationauteur Some Noob Student | 2012-12-09