Je suis en train d'écrire un petit jeu, basé sur socket évidemment. Tout fonctionne très bien quand localhost, mais quand je suis en fichier .swf de mon serveur dédié, et d'essayer de se connecter à Node.js serveur, la connexion est coincé à « poignée de main autorisé »:Flash + Node.JS + Socket.io coincé à la poignée de main autorisé
info: Server starting...
info - socket.io started
info: Listening on port 4000
info: Server started.
debug - client authorized
info - handshake authorized _kqPhvoD6jYI-c1Gr7zu
Et c'est il.
- Fichier SWF local -> Noeud local.JS -> Fonctionne.
- Fichier SWF local -> Remote Node.JS -> Fonctionne.
- Le fichier SWF distant -> Remote Node.js -> ne fonctionne pas.
Version du noeud 0.10.12. Ce n'est pas un pare-feu ou un antivirus. J'ai essayé de courir sur différents ports.
Exemple de code:
//setup express for serving crossdomain on same port as game
var express=require('express');
var app=express();
app.get("/crossdomain.xml", onGetCrossdomain);
var server=require('http').Server(app);
//setup socket io
var socketIo=require('socket.io');
var io=socketIo.listen(server);
//listen on port
server.listen(currentPort);
console.log("Listening on port "+currentPort);
io.set('transports',
[
'flashsocket'
]);
io.sockets.on('connection', onConnection);
function onGetCrossdomain(req, res)
{
res.sendfile(__dirname+'/crossdomain.xml');
}
function onConnection(socket)
{
console.log("connected");
}
J'ai trouvé que la mise à niveau du noeud v0.8.x vers v0.10.x a produit cette erreur. Utilisez-vous l'implémentation de [simb's Flash Socket.IO] (https://github.com/simb/FlashSocket.IO)? – funseiki
Oui, celui de Simb. – Drabuna
Dois-je revenir à 0.8x.x? Ou y a-t-il un autre moyen de résoudre ce problème? – Drabuna