Nota : para preguntas de soporte, utilice uno de estos canales: stackoverflow o slack
al emitir un objeto como datos y dentro de él usando una cadena de ≥
(o el unicode \u2265
) lo convierte en la letra de cadena e
y ≤
pasa a d
lado del cliente
channel.emit('data', {data:'≥'});
lado del servidor
socket.on('data',({data:bla})=>{
console.log(bla); // prints 'e'
});
Nota : la mejor manera de obtener una respuesta rápida es proporcionar un caso de prueba fallido, bifurcando el siguiente violín, por ejemplo.
que los datos se mantendrán igual de forma constante
Esto sucede solo cuando el socket no se ha actualizado (primer uso) durante xhr,
después de que se actualiza a websocket, todos los datos se envían correctamente
ver # 451 y # 572
Hubo un problema con el análisis de utf8 en la versión 1.x, ¿podría intentarlo con la versión 2.x?
Relacionado:
lo probé con 2.0.4, todavía sucede ...
lo arregló con la codificación y decodificación de los datos con este código:
lado del cliente
function strencode( data ) {
return encodeURIComponent( escape( JSON.stringify( data ) ) );
}
lado del servidor
function strdecode( data ) {
return JSON.parse( unescape( decodeURIComponent( data ) ) );
}
Sí, eso parece estar funcionando. ¡Gracias!
Comentario más útil
lo probé con 2.0.4, todavía sucede ...
lo arregló con la codificación y decodificación de los datos con este código:
lado del cliente
lado del servidor