2010-12-10 64 views
2

Je cherche Websockets lib/middleware pour connectNoeud + Connect + WebSockets

Celui que je trouve à ce jour est Socket.IO-connect mais il utilise la version patchée de Connect.

Ceci est un problème principalement dû à la séparation de la version corrigée de Connect de la branche principale.

Pouvez-vous recommander une bonne bibliothèque?

Répondre

1

Vous n'avez pas besoin d'un middleware de connexion pour socket.io et InFACT il est probablement pas la meilleure façon d'aller sur l'utilisation socket.io avec connexion. Voici ce que je fais:

var connect = require('connect'); 
var io = require('socket.io'); 

var server = connect.createServer(
    connect.router(function(app) { 
    app.get('/', function(req, res, next) { 
     res.writeHead(200, {'Content-Type': 'text/html'}); 
     res.end(fs.readFileSync(__dirname + '/assets/index.html', 'utf8')); 
     // above file contains <script src="/socket.io/socket.io.js" type="text/javascript"></script> 
    }); 
    }) 
).listen(80); 

var socket = io.listen(server); 
socket.on('connection', function(client) { 
    client.on('message', function(message) {console.log(message)}); 
    client.on('disconnect', function() {}); 
}); 
+0

'readFileSync' évoluera très bien ... gnah, ne démarre pas une guerre de flamme ici. –

+1

Je crois en montrant des exemples de quelqu'un, plutôt que de faire leur travail pour eux, ce qui est ce que vous semblez croire en Ivo :) –

+0

@Robin Bien sûr, je poste toujours le "codez". Même si je publie du code à certains moments, je ne publie pas de code incomplet et de mauvaise conception. –

2

À l'heure actuelle, Mozilla et Opera ne sont pas compatibles avec les versions à venir en raison de problèmes avec le protocole et de proxys brisés, ce qui permet l'empoisonnement du cache. Il est très probable que Google abandonne également le support jusqu'à ce que le protocole a été corrigé. Donc à partir de maintenant, cela n'a pas beaucoup de sens de chercher un middleware car le protocole changera très bientôt et vous devrez encore chercher, donc pour l'instant vous pouvez aussi bien utiliser le patched version si vous en avez vraiment besoin.

Pour plus de détails voir:
http://hacks.mozilla.org/2010/12/websockets-disabled-in-firefox-4/
http://blog.pusherapp.com/2010/12/9/it-s-not-websockets-it-s-your-broken-proxy

+1

Ce n'est pas un mauvais moment pour WebSockets, et certainement pas pour Socket.IO car il a une multitude de solutions de repli pour les simuler. –

+0

Euh, désolé. C'est? Au moment où ils sont morts, jusqu'à ce qu'une nouvelle spécification apparaisse et s'intègre (indice: cela prendra au moins une demi-année ou même plus ...) aussi, il recherchait spécifiquement un middleware WebSocket. Bien sûr, toutes les retombées fonctionnent toujours bien, mais ce ne sont pas des WebSockets et alors que Socket.IO fait de son mieux pour émuler un comportement semblable à Socket pour chacun d'entre eux, l'expérience utilisateur diffère encore de "vrais sockets". –

+0

@RobinDuckett avez-vous vu l'ensemble FF4 & Opera ne supporte pas les websockets à la libération en raison de failles de sécurité dans le protocole. Je ne serais pas surpris si le chrome suit la suite en 9 ou une version ultérieure. (Je serais très déçu cependant.) – Raynos