2016-11-04 8 views
1

Ich arbeite in einem kleinen Projekt, das Socketio 0.9 basiert. Alles funktioniert, aber ich habe ein kleines Problem mit Sonderzeichen.Socket.io emittieren Sonderzeichen

ich in einem Web-Client weicht ein dynamisches JSON-Objekt von JavaScript erschaffe an den Server emited:

var config = new Object(); 
config.name1 = 'Iñaki'; 
config.name2 = 'Óscar'; 
config.name3 = 'Alba'; 

var data = new Array(); 
data.push(config); 

var myJson = new Object(); 
myJson.hash = hash; 
myJson.serial = serial; 
myJson.data = data; 

iosocket.emit('config', myJson)); 

Und in dem Server i Ende erhalten es an anderen Clients emiting:

socket.on('config', function (data) { 
     ... 
     socket.broadcast.to(myroom).emit("data", data.data); 
    } 

An dieser Stelle, wenn ich spezielle Zeichen wie 'Iñaki' oder 'Óscar' in meinem config Javascript Objekt habe, werden meine Daten nicht von socketio an meine Clients ausgegeben. Aber wenn ich das Objekt mit Namen ohne Sonderzeichen ausfülle, funktioniert es sofort.

Warum?

Hinweis: Ich kann nicht ein Upgrade auf socketio 1.x Hinweis: Meine server.js ist UTF-8 gespeichert.

Danke.

Antwort

0

Ich hatte heute mit dem gleichen Problem zu kämpfen.

In meinem Fall war das Problem, dass die socket.io-Version für Server und Client nicht identisch war. Ich habe socket.io-client 2.0.1 und Socket.io 1.4.0 verwendet, so dass das Problem durch das Herunterstufen der socket.io-client-Version auf 1.4.0 behoben wurde.

Verwandte Themen